javascript - 如何在 JQuery 中存储全局变量?

标签 javascript jquery html css cookies

首先我想说我有一个网站,我想在不重新加载页面的情况下更改语言。这就是我为 EN 和 DE 插入按钮的原因。

<button lang="de" class="btn btn-primary btn-sm language" >DE</button>
<button lang="en" class="btn btn-primary btn-sm language" >EN</button>

此外,我的 CSS 如下所示:

 html.en :lang(de) {
  display: none;
}
html.de :lang(en) {
  display: none;
}

这是我的 JQuery 脚本:

if ($("html").hasClass('de')) {
  $('html').addClass('de');
}
else{
     $('html').addClass('en');  
}

$('.language').click(function(){
($('html').toggleClass('de en'));


    });

最后这是我的 html 标签:

<html class="">

我的问题是,如果我在一个页面上更改语言,如果我单击指向新页面的链接,它会自动变回。我知道我的 JQuery if 函数有问题。但我真的不知道如何解决这个问题。 也许使用 JQuery cookie?

最佳答案

是的——每次页面加载都会产生一个新的 JavaScript 作用域。如果您需要在页面之间维护任何状态,则需要使用 cookie 或在页面之间的 URL 上附加一些内容。 (即使使用服务器端组件,通常也需要客户端标识符来保持服务器关联的 session ID。)

https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API也可能感兴趣。

关于javascript - 如何在 JQuery 中存储全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33333159/

相关文章:

javascript - 在 Chrome 中查看传递给 JavaScript 函数的参数

php - 在同一页面显示计算结果

javascript - 将输入值附加到 div

php - 重定向到聚焦文本区域的页面

javascript - 带有 HTML chop 数据的可调整表

javascript - CoffeeScript 仅在 Rails 应用程序中重新加载页面后才有效

jquery - 使用 jQuery for Joomla 创建子菜单

javascript - 如何在旧版本浏览器中获取输入文件的数据

php - 添加更多(组)字段以通过 jQuery 形成

html - 放大或从侧面拉伸(stretch)时文本从容器中泄漏