如何将用户重定向到不同的页面?

Iho*_*huk 5 javascript jquery

我需要根据浏览器的语言将用户重定向到另一个页面.例如:如果浏览器的语言english重定向到site.com/en/.

我尝试这样做:

$(document).ready(function () {
    var userLang = navigator.language || navigator.userLanguage;

    switch (userLang) {
        case 'en':
            window.location.href = window.location.origin + '/en';
            break;
        case 'de':
            window.location.href = window.location.origin + '/de';
            break;
        default:
            break;
    }
});
Run Code Online (Sandbox Code Playgroud)

这是有效的,但页面不断重新加载.如何解决或提示另一种解决方案?

Cur*_*urt 4

该页面会不断重新加载,因为您没有检查用户是否已经位于正确的语言网站上。

在您的页面上,您可以为服务器端生成的页面语言存储一个 javascript 变量。例如:

var thisLanguage = 'en';
Run Code Online (Sandbox Code Playgroud)

然后更改您的 javascript 逻辑以考虑到这一点,并且仅在用户的语言不同于以下内容时才应用重定向thisLanguage

$(document).ready(function () {
    var userLang = navigator.language || navigator.userLanguage;

    if (userLang != thisLanguage){

       switch (userLang) {
           case 'en':
               window.location.href = window.location.origin + '/en';
               break;
           case 'de':
               window.location.href = window.location.origin + '/de';
               break;
           default:
               break;
       }

    }
});
Run Code Online (Sandbox Code Playgroud)