我需要根据浏览器的语言将用户重定向到另一个页面。例如:如果浏览器的语言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;
}
});
它可以工作,但是页面会不断重新加载。如何解决或提示其他解决方案?
由于您不检查用户是否已经在正确的语言站点上,因此页面会不断刷新。
在您的网页上,您可以存储服务器端生成的网页语言的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;
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句