How to preserve a language using javascript json(如何使用javascript json保留语言)
本文介绍了如何使用javascript json保留语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在main.js和index.html中使用以下代码来更改语言。在按下按钮后,它可以更改所有三种语言的内容。然而,每次用户更改页面时,该语言都会返回到"ENG"。有没有办法保留用户最后一次选择的语言?谢谢。main.js
/* Lang.json newly added */
$.getJSON("Lang.json", function(json) {
console.log(json); // this will show the info it in firebug console
});
$(document).ready(function() {
// The default language is English
var lang = "ENG";
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
});
// get/set the selected language
$(".translate").click(function() {
var lang = $(this).attr("id");
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
});
index.html
<button class="translate" id="ENG">
<a style="cursor: pointer;"><img src="assets/img/eng.png" /></a>
</button>
<button class="translate" id="CHT">
<a style="cursor: pointer;"><img src="assets/img/cht.png" /></a>
</button>
<button class="translate" id="CHS">
<a style="cursor: pointer;"><img src="assets/img/chs.png" /></a>
</button>
推荐答案
您可以使用本地存储来保留值。检查下面我已添加备注。
$(document).ready(function() {
// The default language is English
// Get the lang value from localStorage, if not set use the default value 'ENG'
var lang = window.localStorage.getItem('lang') || "ENG";
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
// get/set the selected language
$(".translate").click(function() {
var lang = $(this).attr("id");
// Save the lang value to localStorage to preserve
window.localStorage.setItem('lang', lang);
$(".lang").each(function(index, element) {
$(this).text(arrLang[lang][$(this).attr("key")]);
});
});
});
这篇关于如何使用javascript json保留语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何使用javascript json保留语言
基础教程推荐
猜你喜欢
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- HTML5 画布调整为父级 2022-01-01
