javascript - 带有 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>
谢谢
解决方案
通过编辑代码解决
<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>
推荐阅读
- python - 按列聚合熊猫数据框
- byte-buddy - 使用 ByteBuddy,如何执行 MethodCall.invoke(someMethodDescription).onThis() 的等效操作?
- coq - Coq:帮助形式化一个非正式的证明
- swagger - 如何从配置文件中设置 swagger 配置属性
- java - 如何在 IntelliJ 中附加 gradle-api 源
- javascript - 使用 .innerHTML 从 2d arraylist javascript 在 html 上生成表格
- python - 如何检查 Pandas 中的列是否具有不同大小写选择的字符串?
- python - 这个 Python 程序不工作,他们没有明显的原因
- python - pickle.load() 在 linux debian 9 中不起作用
- ios - 子容器的约束