zoukankan      html  css  js  c++  java
  • 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(/FirefoxD?d+/i);
      var verFF2=verFF[0].match(/d+/);
      alert("navigator.userAgent的值:"+ua
      +"
    match(/FirefoxD?d+/i)的,获取浏览器和版本:"+verFF
      +"
    match(/d+/),浏览器和版本再拆分出版本:"+verFF2);
      };
        function F2(){
      var ua=navigator.userAgent;
      var verFF=ua.match(/FirefoxD?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(/FirefoxD?d+/i);
      var verChrome = ua.match(/ChromeD?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>

    图示:

  • 相关阅读:
    express 的安全中间件 helmet 简介
    一个设置过期时间的方案
    vscode 中的 vue 格式化
    linux 中部署不同版本 node.js 并同时使用的方案
    webpack 多页面模式配置
    1.assert
    我是一个线程(转)
    Android FragmentTransactionExtended:使Fragment以多种样式动画切换
    Android ORM应用开发框架KJFrameForAndroid使用详解
    Android Studio插件推荐(PreIOC,GsonFormat)
  • 原文地址:https://www.cnblogs.com/huaxie/p/12096330.html
Copyright © 2011-2022 走看看