1. 程式人生 > >js獲取瀏覽器預設語言設定

js獲取瀏覽器預設語言設定

專案用到多語言,之前也接觸過,不過沒有自測過,通過自測,寫出通用比較簡化的方法
  !function () {
      var lang = navigator.language||navigator.userLanguage;//常規瀏覽器語言和IE瀏覽器
      lang = lang.substr(0, 2);//擷取lang前2位字元
      if(lang == 'zh'){
          window.location.replace('./cn/home/index.html');
      }else{
          window.location.replace('./en/home/index.html')
      }
    }()

網上別的常見方法

<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>

文中擷取lang的前2位字元,是因為瀏覽器語言返回值可能是:

zh-cn Chinese(PRC) 

zh-tw Chinese(Taiwan Region)

zh-hk Chinese(Hong Kong SAR, PRC) 

zh-sg Chinese(Singapore) 

en-us English(United States) 

en     English