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

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

有人可以告诉我哪里出了问题以及为什么该位置被多次更换吗?提前道歉,我才刚刚开始学习编码。感谢您抽出时间。

最佳答案

因为你的代码被包裹在 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/

相关文章:

javascript - 如何在过滤器之后运行gridview单元格中小部件的js代码?

javascript - 路径对象的 Raphael 渐变背景不适用于 IE8 和 IE7

javascript - 如何使下拉菜单的主要元素保持在原位?

javascript - 在 d3 中渲染铁路数据时奇怪的填充效果

javascript - jQuery load() 函数不起作用

jquery - 如何使用CORS访问Flipkart API?

jquery - HTML + 在下拉框中添加输入字段

javascript - 如何对动态加载javascript文件的javascript代码进行单元测试?

javascript - 通过其他数组查找数组中最接近的值

javascript - SQL 查询 2 个表,其中给定日期范围内的值不在两个表中