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

前端之家收集整理的这篇文章主要介绍了javascript – 如何将用户重定向到不同的页面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

我尝试这样做:

  1. $(document).ready(function () {
  2. var userLang = navigator.language || navigator.userLanguage;
  3. switch (userLang) {
  4. case 'en':
  5. window.location.href = window.location.origin + '/en';
  6. break;
  7. case 'de':
  8. window.location.href = window.location.origin + '/de';
  9. break;
  10. default:
  11. break;
  12. }
  13. });

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

最佳答案
由于您没有检查用户是否已经在正确的语言站点上,因此页面会不断重新加载.

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

  1. var thisLanguage = 'en';

然后更改您的javascript逻辑以将此考虑在内,并且仅在用户的语言与thisLanguage不同时才应用重定向

  1. $(document).ready(function () {
  2. var userLang = navigator.language || navigator.userLanguage;
  3. if (userLang != thisLanguage){
  4. switch (userLang) {
  5. case 'en':
  6. window.location.href = window.location.origin + '/en';
  7. break;
  8. case 'de':
  9. window.location.href = window.location.origin + '/de';
  10. break;
  11. default:
  12. break;
  13. }
  14. }
  15. });

猜你在找的jQuery相关文章