gpt4 book ai didi

javascript - 更改用户区域设置在 chrome 中不起作用

转载 作者:行者123 更新时间:2023-11-30 18:42:54 25 4
gpt4 key购买 nike

我有一个下拉列表,当用户点击其中的语言时它调用一个 js 函数来更改语言环境它在 Firefox 中运行良好但在 chrome 中它根本不起作用,我不知道为什么

列表:

<select name="languageMenu" >
<option selected="selected" ><fmt:message key="language.languages" /></option>
<option value="en" onclick="switchLocale('en');"><fmt:message key="language.English"/></option>
<option value="ar" onclick="switchLocale('ar');" ><fmt:message key="language.Arabic"/></option>
</select>

js:

<script type="text/javascript">

function switchLocale(lang_opt) {
var selected = lang_opt.selectedIndex;
//var locale = lang_opt.options[selected].value;
var locale = lang_opt;

var href = document.location.href;
if (href[href.length - 1] === "#") {
href = href.substr(0, href.length - 1); // -1 removes "#"
}
var newHref = "";
if (document.location.search.length > 0) {
var langParamIndex = href.indexOf("lang");
if (langParamIndex > -1) {
newHref = href.substr(0, langParamIndex);
newHref += "lang=" + locale;
newHref += href.substr(langParamIndex + "lang=zz".length);
} else {
newHref = href + "&lang=" + locale;
}
} else {
newHref = href + "?lang=" + locale;
}
document.location = newHref;
}
</script>

最佳答案

在单个选项上使用 onclick 处理程序不是明确定义的行为,您应该将事件更改为选择框本身的 onchange:

<select name="languageMenu" onchange="switchLocale(this.value)"> 
<option selected="selected"><fmt:message key="language.languages" /></option>
<option value="en"><fmt:message key="language.English"/></option>
<option value="ar"><fmt:message key="language.Arabic"/></option>
</select>

这些选项也应该默认为我当前的语言,所以当我选择与我正在使用的相同的语言环境时,我无法触发 onchange。

关于javascript - 更改用户区域设置在 chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6315730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com