【发布时间】:2014-01-25 08:17:47
【问题描述】:
我正在尝试创建一个在首次访问时显示所选语言页面的网站。单击语言名称后,语言名称字符串(例如法语)将存储在网络/本地存储中。并且当用户下次访问该网站时,会检查语言字符串并显示特定语言页面。 我已经编写了十二个函数,用于在单击每种语言的锚标记时存储语言字符串。像这样:
function english()
{
if(typeof(Storage)!=="undefined")
{
localStorage.clear();
localStorage.language="English";
window.location.reload();
}
}
function french()
{
if(typeof(Storage)!=="undefined")
{
localStorage.clear();
localStorage.language="French";
window.location.href = "french.html";
}
}
这种方法真的有效吗?我认为为多种语言创建多个页面有利于 SEO,而不是即时更改文本字符串。 直到这里,当我检查 Chrome 开发人员控制台时,字符串的值被存储。但是当我关闭选项卡或浏览器窗口时,存储的值就消失了,下次它不记得语言了。
我正在使用此代码检查语言(我必须检查 12 种语言):
window.onload = function() {
if (localStorage.language="Language")
{
window.location.href = "language.html";
}
else if (localStorage.language="English")
{
window.location.href = "eng.html";
}
else if (localStorage.language="French")
{
window.location.href = "french.html";
}
else if (localStorage.language="Spanish")
{
window.location.href = "spanish.html";
}
在检查第一个“if”条件后,代码有点停止,无论是真还是假,它只是停在那里并且不检查除此之外的“else if”条件。
有人可以帮我吗?即使在浏览器关闭后,示例代码似乎也将值存储在网络存储中,但我无法在我的中复制它。
【问题讨论】:
标签: javascript html localization local-storage web-storage