實驗: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM