如何设置自动识别浏览器语言,跳转到相关版本的网站?

| Visit:8

当需要根据浏览器的语言偏好进行跳转时,可以使用 JavaScript 的 navigator.language 属性获取浏览器的语言信息,然后根据不同的语言进行跳转。
我们通过 JavaScript 对根据国家代码进行逻辑判断并实现跳转功能。针对中国用户不进行跳转,对日本用户进行特定域名跳转,对其他国家用户进行默认域名跳转。同时,我们使用了 hasVisited cookie 作为标识,只在首次访问时进行跳转。

 

        // 检查Cookie是否存在
        function checkCookie(name) {
            var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
            if (match) {
                return match[2];
            }
            return null;
        }

        // 设置Cookie
        function setCookie(name, value, days) {
            var expires = "";
            if (days) {
                var date = new Date();
                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
                expires = "; expires=" + date.toUTCString();
            }
            document.cookie = name + "=" + value + expires + "; path=/";
        }

        // 获取浏览器语言并进行相应的跳转
        function redirectBasedOnLanguage() {
            var language = navigator.language.split('-')[0]; // 获取浏览器语言

            switch (language) {
                case 'ja':  // 日语 - 日本
       setCookie('hasVisited', 'true', 365); // 设置一个标志性的Cookie,表示已经访问过
                   window.location.href = "https://jp.shopaii.com";
                   break;

               case 'zh':  // 中文 - 中国
                    
                    setCookie('hasVisited', 'true', 365);
                    break;
                default:
                    if (!checkCookie('hasVisited')) {    
          setCookie('hasVisited', 'true', 365);
                      window.location.href = "https://en.shopaii.com";
                        
                    }
                    break;
            }
        }

        redirectBasedOnLanguage();