存储哈希信息以供下拉选择
Store hash information for drop-down selection
我猜我需要为此制作一个cookie,但如果有其他方法,请告诉我。我有一个下拉菜单,它使用链接元素在网站上选择一种语言,根据他们选择的链接元素,创建一个附加到 URL 末尾的哈希。我正在寻找一种存储此选择的方法,以便选择保留在所有页面上,而不是在每次刷新或离开页面时重置。
这是 HTML:
<div class="menu cid">
<a href="#" title="en">United States</a>
<a href="#" title="can">Canada</a>
</div>
还有剧本:
$(document).ready(function(){
if(document.location.hash == ""){
location.href = location.href + "#en";
}
});
jQuery('.menu a').on('click', function(event) {
event.preventDefault();
var clickedAnchor = jQuery(this),
countryID = clickedAnchor.attr('title');
location.href = location.href.split('#')[0] + '#' + countryID;
location.reload();
});
var countryID = window.location.hash;
countryID = countryID.substring(1);
console.log("country code: "+countryID);
var countryID = "en";
if (document.location.hash != "") {
countryID = document.location.hash.substring(1);
}
var map = {"en":"4242", "can":"4243"};
cii_EmbedProductLinks('Chairs','{{ prodID }}',map[countryID], CI_LinkID);
谢谢!
可能的解决方案是,
- Cookie - 如果您需要客户端实现,请注意过期
- HTML5 Web 存储(本地存储、会话存储) - 仅限客户端,如果您没有不使用 HTML5 的限制。我认为会话存储更适合您的情况,因为它将保留设置,直到用户的会话过期。
- 服务器会话 - 如果您要根据所选值(即语言)提供内容,则更适合。这通常由支持 i18n 的系统使用,这些系统需要知道服务器端和客户端随时选择的语言。
我讨厌人们只是粘贴链接,但这是我目前能做的:
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#localStorage
对不起,我希望这有帮助!
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- 如何在浏览器重新加载时保存位置哈希状态
- jQuery scrollTop-哈希错误
- 使用带有哈希标签的链接处理类似Facebook的按钮信息(标题和图像)
- 存储哈希信息以供下拉选择
- 为什么从位置哈希中选择下拉列表在 Chrome 上有效,但不适用于 Firefox、IE 或 Safari
- 使用哈希标记从下拉列表中预先选择项目
- 基于URL哈希或选项卡选择的幻灯片到图像
- 如何在选择jQuery选项卡时正确更新URL哈希
- 如何从JSON哈希创建HTML选择选项
- AngularJS根据名称/值选择数组哈希元素
- JavaScript 检测哈希选择/复制
- 保存哈希信息的最佳方式
- 如何通过url哈希传递值到多个选择下拉
- 不选择器和哈希符号语法错误
- 当属性名称具有哈希时,Jquery ID选择器
- 我已经编写了自己的JavaScript代码库,但我仍然无法生成种子信息哈希