在页面之间共享变量

罗伯特·J

我有一个简单的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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

.Net Razor-页面之间的共享变量

来自分类Dev

在Pyside / PyQt中的QWizard页面之间共享变量

来自分类Dev

如何在多个页面之间共享PHP变量?

来自分类Dev

在类之间共享变量

来自分类Dev

在ViewController之间共享变量

来自分类Dev

Angular2 在页面/组件之间共享变量或全局变量

来自分类Dev

如何在指令和视图页面之间共享作用域变量?

来自分类Dev

在Shell脚本之间共享变量

来自分类Dev

在多个类别之间共享变量

来自分类Dev

在协程之间共享变量

来自分类Dev

angularjs在函数之间共享变量

来自分类Dev

在方法重载之间共享变量?

来自分类Dev

在课程之间共享变量

来自分类Dev

在QT类之间共享变量

来自分类Dev

angularjs在函数之间共享变量

来自分类Dev

在swift文件之间共享变量

来自分类Dev

Ansible:在组之间共享变量

来自分类Dev

使用Browserify在页面之间共享通用代码

来自分类Dev

如何在页面之间共享视图模型?

来自分类Dev

使用Browserify在页面之间共享通用代码

来自分类Dev

在页面之间共享公共渲染参数值

来自分类Dev

在 html 页面之间共享 js 对象

来自分类Dev

在页面之间传递会话变量

来自分类Dev

在HTML页面之间传输变量

来自分类Dev

会话变量在页面之间丢失

来自分类Dev

页面之间的会话变量重置

来自分类Dev

页面中的变量是否可以共享?

来自分类Dev

页面中的变量是否可以共享?

来自分类Dev

在Knockoutjs中的ViewModel之间共享变量状态