我有一个简单的JavaScript文件,该文件负责页面上的翻译。因此,如果用户想查看英语等页面,则可以单击该页面,然后页面会自动翻译。除非用户转到另一个页面,否则一切都很好。
现在,我的JavaScript重新被重新加载,并且默认语言开始生效。这是不希望的-我希望我的JavaScript记住用户指定的语言。
这是我的JavaScript代码,以显示我在做什么
//translations
var language = "en";
$(function () {
translatePage();
$("#PageLanguages li").on("click", function (attr) {
var selLang = $(this).data("language");
if (selLang) {
language = selLang;
}
translatePage();
});
function translatePage() {
$.ajax({
url: 'languages.xml',
success: function (xml) {
$(xml).find('translation').each(function () {
var id = $(this).attr('id');
var text = $(this).find(language).text();
$("#" + id).text(text);
});
},
error: function (err) {
var x = err;
}
});
};
});
如您所见,我将语言(一个用户指定的语言)存储language
在顶部的变量中。
当我想在所有页面之间共享一个变量时(例如在这种情况下),我该怎么办?
您可以通过几种方法来执行此操作。但我只列出三个。如果要使用JavaScript方法(依赖于浏览器启用/支持的JavaScript):
var language = localStorage.getItem("language") || "";
if(language !== "")
{
// Set the language for content in here
}
else
{
// Store the language in LocalStorage here.
localStorage.setItem("language", "en-us");
}
另外,您可以在数据库(服务器端)中存储类似的内容,但是我建议不要在自己的数据库中存储此类内容,除非您绝对需要确保在需要时会存在该值。
另一种选择是language=en-us
在用户单击超链接或按钮时将类似的内容附加到您的查询字符串中。然后,您可以在下一页上使用JavaScript或服务器端语言从查询字符串获取此数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句