静态多语言javascript重定向不断重新加载页面

时间:2016-11-17 22:45:42

标签: javascript jquery html redirect multilingual

我希望你能解决我的问题。我的静态HTML网站上有3种语言。我想根据用户的浏览器语言设置重定向用户。

这是我的代码:

    var lang = navigator.language;
if (lang == 'pl'){
    document.location.href = 'index_pl.html';
}
else if (lang == 'fr'){
    document.location.href = 'index_fr.html';
}
else {
    document.location.href = 'index.html';
}
alert(lang); 

问题是用户每次进入网站时此脚本都会刷新/重定向网站。我的问题是如何检查用户浏览器一次,然后将用户重定向到专用网页。

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果您不希望它继续重定向,则需要检查当前URL中的页面。例如:

var lang = navigator.language;
var redirectURL = 'index.html';

if (lang == 'pl'){
    redirectURL = 'index_pl.html';
} else if (lang == 'fr'){
    redirectURL = 'index.html';
}

if (document.location.pathname.indexOf(redirectURL) == -1) {
    document.location.href = redirectURL;
}

这将检查redirectURL不在路径中。

答案 1 :(得分:0)

大家好,我想我已经使用localStorage解决了这个问题。 代码如下:

        if (localStorage.getItem("visit") == null)
{
    // Show Welcome message
    var lang = navigator.language;
    if (lang == 'pl'){
        document.location.href = 'index_pl.html';
    }
    else if (lang == 'fr'){
        document.location.href = 'index_fr.html';
    }
    else {
        document.location.href = 'index.html';
    }
}

localStorage.setItem("visit", new Date());

如果我是对的,你能告诉我吗?提前致谢