传递语言变量的值

Passing value of language variable

我有 10 个不同语言的独立主页。可以从 index.html 页面选择语言。

问题是网站中只有主页是多语言的。所有其他页面均为英文。当我从其他页面导航到主页时,如何存储我之前在主页上选择的语言值?

我在每个主页的标签中通过 HTML "lang" 属性定义语言。我使用的代码如下:

$(document).ready(function(){
   var theLanguage = $('html').attr('lang');    

   $(".homeBtn a").click(function(){
       alert(theLanguage)
       var newHref = "home_"+theLanguage+".html";
       $(".homeBtn a").attr("href", newHref)

   });
});

我在警报中得到 "theLanguage" 变量的未定义值。我认为变量没有从主页传递到其他页面。

请帮我解决这个问题。

您可以像这样在浏览器中存储值 localStorage

$(document).ready(function(){
   var theLanguage = $('html').attr('lang');    

   $(".homeBtn a").click(function(){
       var newHref = "home_" + theLanguage + ".html";
       $(".homeBtn a").attr("href", newHref)

       localStorage.setItem('lang', theLanguage);

   });
});

此值将保留在应用程序中,即使您刷新页面或更改页面也可以访问。

然后,如果您需要检索该项目,只需执行以下操作:

console.log(localStorage.getItem('lang'));

使用 HTML 和 javascript 您的选项是 cookie 或隐藏字段。

这些是具有相似要求的相关帖子:

How to get JS variable to retain value after page refresh?

或者这里有一个关于隐藏字段的简单教程:

http://www.tizag.com/htmlT/htmlhidden.php

或如上所述的浏览器存储!