JavaScript window.location.replace(url)重新加载多次

时间:2016-11-04 15:30:48

标签: javascript jquery

我的目标是创建一个脚本,根据他们的浏览器语言将用户从主页重定向到相关语言页面,这是我到目前为止所拥有的:

<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/

有人可以告知这出错的地方以及为何多次更换地点?提前道歉,我才开始学习编码。谢谢你的时间。

2 个答案:

答案 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中尝试了你的链接,我看不到多个负载。 您使用的是哪种浏览器?