我需要根据浏览器的语言将用户重定向到另一个页面.例如:如果浏览器的语言英文重定向到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;
}
});
最佳答案
由于您没有检查用户是否已经在正确的语言站点上,因此页面会不断重新加载.
原文链接:https://www.f2er.com/jquery/428368.html在您的页面上,您可以存储服务器端生成的页面语言的javascript变量.例如:
var thisLanguage = 'en';
然后更改您的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;
}
}
});