我的目标是创建一个脚本,根据他们的浏览器语言将用户从主页重定向到相关语言页面,这是我到目前为止所拥有的:
<script>
jQuery(document).ready(function() {
var language = window.navigator.userLanguage || window.navigator.language;
if (language === "en-US") {
window.location.replace("/test")
}
});
</script>
问题是当/test
页面加载时,它会在最终停止之前重新加载几次。请参阅下文以查看此操作(仅当浏览器语言为“en-US”时才有效)
http://ts564737-container.zoeysite.com/
有人可以告知这出错的地方以及为何多次更换地点?提前道歉,我才开始学习编码。谢谢你的时间。
答案 0 :(得分:1)
由于每次加载页面时代码都包含在jQuery(document).ready(function() {
中,因此会调用window.location.replace
并启动页面刷新。
我确实注意到您的网站上有语言下拉菜单,所以可能会尝试类似的内容:
<select class="foo" id="bar" onchange="dropdownChange()">
//options here
</select>
和你的javscript
function dropdownChange() {
var dropdown = document.getElementById("bar");
var language = dropdown.options[dropdown.selectedIndex].value;
if (language === "en-US") {
window.location.replace("/test");
}
}
答案 1 :(得分:0)
我在Chrome中尝试了你的链接,我看不到多个负载。 您使用的是哪种浏览器?