传递语言变量的值

时间:2015-01-02 13:49:42

标签: javascript html variables

我有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"警报变量。我认为变量不会从主页传递到其他页面。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

您可以将值存储在浏览器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'));

答案 1 :(得分:1)

使用HTML和javascript,您的选项可以是Cookie或隐藏字段。

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

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

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

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

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