孤独不是寂寞 2017-12-05 07:05 采纳率: 40%
浏览 1083
已采纳

前台如何获取浏览器及其版本,后台也行,不麻烦就行

String value = request.getHeader("User-Agent");
我是用这种方法在前台小脚本取出头信息中的user-agent信息
但是不同浏览器的头信息不同,如谷歌:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
360的兼容模式:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
那我如何准确的取出其中的浏览器以及浏览器版本呢
求指点

  • 写回答

1条回答 默认 最新

  • 孤独不是寂寞 2017-12-05 07:12
    关注
     function getBrowserInfo() {
              var Sys = {};
              var ua = navigator.userAgent.toLowerCase();
              var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
              (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
              (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
              (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
              (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
    
              if(Sys.ie) {
                return 'IE: ' + Sys.ie;
              }
              if(Sys.firefox) {
                return 'Firefox: ' + Sys.firefox;
              }
              if(Sys.chrome) {
                return 'Chrome: ' + Sys.chrome;
              }
              if(Sys.opera) {
                return 'Opera: ' + Sys.opera;
              }
              if(Sys.safari) {
                return 'Safari: ' + Sys.safari;
              }
            } 
    

    自己弄出来了,自问自答。。。。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 hfss 组天线阵列报错:The A and B vectors must be parallel to the XY plane,如何解决?
  • ¥30 ansible连接设备报错
  • ¥60 pmsampsize包取值问题
  • ¥15 波形合成电路的设计学习
  • ¥15 unity脚本挂不上
  • ¥15 数学建模数学建模需要
  • ¥20 Java Sound Api 调用Mixer.getLine偶现Line unsupported错误。
  • ¥15 使用cuda加速opencv运算但是报错AttributeError: module 'cv2.cuda' has no attribute 'getCudaEnabledDeviceCount'
  • ¥15 java输入输出异常
  • ¥15 三子连珠对弈小游戏制作