我的目标是创建一个脚本,根据用户的浏览器语言将用户从主页重定向到相关语言页面,这是我到目前为止所拥有的:
<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/
有人可以告诉我哪里出了问题以及为什么该位置被多次更换吗?提前道歉,我才刚刚开始学习编码。感谢您抽出时间。
最佳答案
因为你的代码被包裹在 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");
}
}
关于JavaScript window.location.replace(url) 多次重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40426434/