Javascript 在HTML中记住用户区域设置选择的最简单方法

Javascript 在HTML中记住用户区域设置选择的最简单方法,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我已经在我的一个网站上工作了大约一个星期了。我对HTML和CSS很在行,但我仍在努力学习Javascript、JQuery和PHP 基本上,我要做的是创建一种方法,根据用户在语言选择页面上的选择来记住用户的语言和区域设置。我希望(如果可能的话)用户在/locale页面上选择他们的标志,并更改主页的url(即mysite.com/en-us)。我将通过静态页面翻译我的网站内容,而不是主动翻译 这只适用于主页,不适用于后续页面,但是如果它也适用于不同目录下的页面,那就太棒了。你可以查看我新建网站的一

我已经在我的一个网站上工作了大约一个星期了。我对HTML和CSS很在行,但我仍在努力学习Javascript、JQuery和PHP

基本上,我要做的是创建一种方法,根据用户在语言选择页面上的选择来记住用户的语言和区域设置。我希望(如果可能的话)用户在/locale页面上选择他们的标志,并更改主页的url(即
mysite.com/en-us
)。我将通过静态页面翻译我的网站内容,而不是主动翻译

这只适用于主页,不适用于后续页面,但是如果它也适用于不同目录下的页面,那就太棒了。你可以查看我新建网站的一个实例

我更喜欢Javascript或JQuery,但老实说,当其他人在做困难的部分时,我真的没有权利挑剔


提前非常感谢所有人的帮助。

实现这一点有两种方法:cookie或localStorage。最简单的方法是本地存储

这里有两个简单的Javascript函数。第一个在BodyLoad上运行,并检查之前选择的语言(存储在localStorage中)是否为西班牙语。如果不是(或空白),欢迎以英语显示

当您单击一个按钮时,它将运行第二个函数,该函数将更改欢迎语言并将选择存储在localStorage中

HTML


听起来似乎可以很好地工作。只有当用户使用相同的浏览器时,localStorage才能工作。如果他切换到其他浏览器/设备/等,而你想存储区域设置,你需要将其存储在后端
根据用户的选择记住用户的语言和区域设置
记住在同一台计算机上吗?(事实上没有其他选择,只是想澄清一下。)@llamerr如果用户未登录,即使使用后端,您也无法知道他的选择。。
<button onclick="language('en')">english</button>
<button onclick="language('spa')">spanish</button>

<h1><span id=welcome>text</span></h1>
document.getElementsByTagName("body")[0].onload=function(){session()};

function session() {    
var result = localStorage.getItem("session");

if (result === 'spa') {
    document.getElementById("welcome").innerHTML = "Hola!";
} else {
    document.getElementById("welcome").innerHTML = "Hello!";
}
}

function language(key) {
if (key === 'en') {
    document.getElementById("welcome").innerHTML = "Hello!";
    localStorage.setItem("session", "en");
} else if (key === 'spa') {
    document.getElementById("welcome").innerHTML = "Hola!";
    localStorage.setItem("session", "spa");
}
}