navigator.userAgent获取当前浏览器信息

2021年09月15日 阅读数:1
这篇文章主要向大家介绍navigator.userAgent获取当前浏览器信息,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

LODOP的LodopFuncs.js里,默认是混合部署,因为高版本的火狐谷歌再也不支持np插件,因此对于这些浏览器加了判断,会走c-lodop方式(360极速,qq极速等是谷歌内核,也会走c-lodop)。html

官网样例是混合部署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相关博文索引spa

简短问答:
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>

图示:插件