zoukankan      html  css  js  c++  java
  • 实验:JS判断浏览器中英文版本

    如题所述,今天有同事问起这个问题,以前没做过就研究了一下。

    通过度娘查看了不同网友的文章,总结测试了一段目前自己认为最简洁的代码:

    <script type="text/javascript">
      var lang = (navigator.systemLanguage?navigator.systemLanguage:navigator.language);
      //获取浏览器配置语言 #括号内是个运算,运算过后赋值给lang,当?前的内容为true时把?后的值赋给lang,为False时把:后的值赋给lang
      var lang = lang.substr(0, 2);//获取lang字符串的前两位
      if(lang == 'zh'){
          alert('中文浏览器');
      }else{
          alert('非中文浏览器');
      };
    </script>

    测试浏览器:IE6+ /F /G /S /O #其它浏览器均为目前最新版本

    以上测试浏览器全兼容。

    网上常见代码:

    <script type="text/javascript">
      var type = navigator.appName;
      if (type == "Netscape"){
          var lang = navigator.language;//获取浏览器配置语言,支持非IE浏览器
      }else{
          var lang = navigator.userLanguage;//获取浏览器配置语言,支持IE5+ == navigator.systemLanguage
      };
      var lang = lang.substr(0, 2);//获取浏览器配置语言前两位
      if (lang == "zh"){
          alert(lang);
          //window.location.replace('url');//中文编码时打开链接
      }else if (lang == "en"){
          window.location.replace('url');
      }else{//其他语言编码时打开以下链接
          window.location.replace('url');
      };
    </script>

    参考链接:

    《判断浏览器语言是中文还是英文》http://chenxinwen2006.blog.163.com/blog/static/12767432120110245844677/

    《自动判断浏览器的中英文版本自动跳转网站中英文页面代码》http://fangzheng1105.blog.163.com/blog/static/51535953201022711232876/

    《Chrome浏览器navigator.appName得到的是Netscape,为什么?》http://bbs.csdn.net/topics/390061615

    《各种语系的简称》http://blog.sina.com.cn/s/blog_4c5db77801000af7.html

    
    —— 能力说话。
    —— 唯爱与美食不可负。
    —— 身体健康第一重要。
  • 相关阅读:
    关于CLR、CIL、CTS、CLS、CLI、BCL和FCL
    (DateTime)日期型数据转换成C#长整型数据
    List<T>.FindIndex 方法 (Predicate<T>)
    C#用int的0--31位表示32个bool值,int拆分成bool数组
    C# 协程 WaitForSeconds产生GC(Garbage Collection)问题
    Unity3D教程:尽量避免使用foreach
    NGUI中button无法用find函数找到
    Vue + axios + SpringBoot 2实现导出Excel
    Kafka 0.10.1版本源码 Idea编译
    Gradle Wrapper
  • 原文地址:https://www.cnblogs.com/aileLiu/p/4065314.html
Copyright © 2011-2022 走看看