首页 > 解决方案 > 带有 cookie 的下拉重定向和被更改的能力

问题描述

我搜索了很多主题,但没有找到解决问题的确切方法。

我需要创建一个下拉菜单,该下拉菜单将放置在整个网站上,因为您始终可以将您的位置更改为另一个城市以查看优惠。我想创建一个下拉列表,客户可以在其中选择他的城市进行本地交付。此下拉列表将放置在介绍页面和每个提供报价的页面上。用户选择城市后,将创建一个 cookie,并将用户重定向到他选择的页面。他选择的城市应该永远记住。

我的问题是什么?让我解释。

现在,当我选择城市(例如它的纽约)时,我的下拉列表位于纽约的页面 aswel for city change 我不断被重定向并且它永远不会结束。所以我得到无限重定向。

目前有效的第二件事。例如,当您访问主 url 地址时 --> example.com 如果您之前选择了您的城市,它应该将您重定向到您的城市。因此,如果您在它应该将您重定向到 example.com/kategoria-produktu/cadca/ 之前选择了 New york

总结一下:一切都很好,但是当这个下拉列表位于整个站点时,我一直被重定向到我选择的页面,这就是我需要消除的。

请问有什么想法吗?

我的代码在这里

<script type="text/javascript">
if (localStorage && localStorage.country) {
    location = localStorage.country;    
}

function formChanged(form) {
    var val = form.options[form.selectedIndex].value;
    if (val !== 'non-value') {
      if (localStorage) {
        localStorage.country = val;
      }
      location = val;
    }
}
</script>

<FORM NAME="form1">
<select onchange="formChanged(this);" NAME="country" SIZE="1">
<OPTION VALUE="non-value">Select delivery city
<OPTION VALUE="/kategoria-produktu/cadca/">New York
<OPTION VALUE="/kategoria-produktu/brno/">Los Angeles
<OPTION VALUE="/kategoria-produktu/bratislava/">Tokyo
</select>
</FORM>

谢谢

标签: javascripthtmljquerycookies

解决方案


通过编辑代码解决

<script type="text/javascript">
if(location.href.indexOf(localStorage.country) == -1){
location.href = localStorage.country
}

function formChanged(form) {
var val = form.options[form.selectedIndex].value;
if (val !== 'non-value') {
if (localStorage) {
localStorage.country = val;
}

if (!location.href.indexOf(val)) {    
location = val;
}
}
}

</script>

推荐阅读