当我尝试根据浏览器语言重定向时无限循环

时间:2017-11-22 15:51:40

标签: javascript

我正在学习JS,我尝试根据浏览器的语言重定向访问者(如果这与使用以下内容重定向到' en')不同脚本:

    var language = navigator.language || navigator.userLanguage;

    if (language.indexOf('en') > -1) {
        document.location.href = 'https://example.com/en/';
        }

但是这个脚本导致无限循环并且页面没有正确加载。

如何处理?

2 个答案:

答案 0 :(得分:1)

简单地重定向并不会改变导航语言。因此,即使在/en/我也希望它再次尝试重定向。

你可能想要这个:

var language = navigator.language || navigator.userLanguage;

if (language.indexOf('en') > -1 && document.location.href.indexOf('/en/') !== -1) {
    document.location.href = 'https://example.com/en/';
}

显然,上面的代码是非常的,因为某个地方的网址中可能会出现/en/的另一个问题,但您明白了这一点:)

答案 1 :(得分:-2)

尝试以下方法:

   window.location.href='http://example.com/en/'