navigator.userAgent獲取當前瀏覽器信息


LODOP的LodopFuncs.js里,默認是混合部署,由於高版本的火狐谷歌不再支持np插件,所以對於這些瀏覽器加了判斷,會走c-lodop方式(360極速,qq極速等是谷歌內核,也會走c-lodop)。

官網樣例是混合部署LodopFuncs.js里已經寫好了判斷。
客戶端是瀏覽器支持np插件,是32位瀏覽器,就會提示下載32位的Lodop插件:install_lodop32.exe
客戶端瀏覽器支持np插件,是64位瀏覽器,就會提示下載64位的Lodop插件:install_lodop64.exe
客戶端瀏覽器不支持np插件(判斷如高版本谷歌火狐等),會提示下載C-Lodop方式: CLodop_Setup_for_Win32NT.exe

在LodopFuncs.js里寫好的判斷是否需要c-lodop的方法是needCLodop(),這個方法返回true就會走c-lodop,返回false會走lodop插件方式。
使用到的navigator.userAgent,這個是JS的語句,可以百度一下該獲取到的值含義,可以獲取瀏覽器版本版本號等,網上也有在線解析該返回的字符串的方法,或者判斷瀏覽器的方法。

navigator.userAgent這個能返回操作系統,和瀏覽器版本,如果想要判斷當前瀏覽器是哪個,或操作 系統是哪個,想要附加很多判斷,可以觀察或測試多個系統返回字符串,寫判斷。
這里有瀏覽器火狐和谷歌,演示判斷火狐和谷歌。實際中需要判斷的很多,這里不加多寫,可從網上找一些判斷,找一些navigator.userAgent判斷。
通過正則截取到需要的信息進行判斷,正則可查看 本博客相關博文里的正則部分:【非lodop的】JS和html相關博文索引

簡短問答:
1.navigator.userAgent這個獲取的字符串是什么意思
這個是JS里的方法,獲取的是當前瀏覽器內核和版本等有關信息,具體可百度一下,查看下各個值的含義。
2.火狐谷歌哪些瀏覽器版本走的是c-lodop方式
具體判斷的瀏覽器和版本號可參考LodopFuncs.js里的needCLodop()的判斷。
測試代碼:

<body>
  在火狐瀏覽器中:<input type="button" value="點擊" onclick="F1()"><br>
  判斷是否是火狐瀏覽器,版本41及以上還是以下<input type="button" value="點擊" onclick="F2()"><br>
  判斷是火狐還是谷歌(內核)<input type="button" value="點擊" onclick="F3()"><br>
  <script>
  function F1(){
  var ua=navigator.userAgent;
  var verFF=ua.match(/Firefox\D?\d+/i);
  var verFF2=verFF[0].match(/\d+/);
  alert("navigator.userAgent的值:"+ua
  +"\nmatch(/Firefox\D?\d+/i)的,獲取瀏覽器和版本:"+verFF
  +"\nmatch(/\d+/),瀏覽器和版本再拆分出版本:"+verFF2);
  };
    function F2(){
  var ua=navigator.userAgent;
  var verFF=ua.match(/Firefox\D?\d+/i);
  if(verFF){
      console.log("當前瀏覽器是火狐");
      var verFF2=verFF[0].match(/\d+/);
      if(verFF2>=41)
      console.log("當前火狐瀏覽器的版本是大於或等於41的");
      else{console.log("當前火狐瀏覽器的版本是小於41的");}
  }
  else console.log("當前瀏覽器不是火狐");
  };
      function F3(){
  var ua=navigator.userAgent;
  var verFF=ua.match(/Firefox\D?\d+/i);
  var verChrome = ua.match(/Chrome\D?\d+/i);
  if(verFF){
      console.log("當前瀏覽器是火狐");
      var verFF2=verFF[0].match(/\d+/);
      if(verFF2>=41)
      console.log("當前火狐瀏覽器的版本是大於或等於41的");
      else{console.log("當前火狐瀏覽器的版本是小於41的");}
  }
  else if(verChrome)
          { verChrome2= verChrome[0].match(/\d+/);
           if(verChrome2>=41)
           console.log("當前瀏覽器和瀏覽器版本是"+verChrome[0]+",瀏覽器版本是"+verChrome2+",版本是大於41的");
           else
           {console.log("版本小於41的谷歌瀏覽器");}
          }
  };
  </script>
 </body>

圖示:


免責聲明!

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



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