首页 > 其他 > 详细

用ua 检测各种奇奇怪该的浏览器

时间:2019-08-09 13:44:41      阅读:114      评论:0      收藏:0      [点我收藏+]

项目要求只能在ios端的safari中打开页面,其他的不行。
本来只是识别了ua中的ipad、iphone+safari数字结尾,后来发现不行,没法和chrome区别开。
ios端的safari似乎没有可以与其他所有浏览器一键区别开的关键字或者特征,只能通过排除法尽量先排除其他浏览器。
查了一圈,找到了前辈总结的检测方法,测试可行,记录如下:

var browserName = "Other";
    var ua = window.navigator.userAgent;
    browserRegExp = {
      Sogou : /SE\s2\.X|SogouMobileBrowser/,
      Explorer2345 : /2345Explorer|2345chrome|Mb2345Browser/,
      Liebao : /LBBROWSER/,
      QQBrowser : /QQBrowser/,
      Baidu : /BIDUBrowser|baidubrowser|BaiduHD/,
      UC : /UBrowser|UCBrowser|UCWEB/,
      MiuiBrowser : /MiuiBrowser/,
      Wechat : /MicroMessenger/,
      MobileQQ : /Mobile\/\w{5,}\sQQ\/(\d+[\.\d]+)/,
      Shoujibaidu : /baiduboxapp/,
      Firefox : /Firefox/,
      Maxthon : /Maxthon/,
      Se360 : /360SE/,
      Ee360 : /360EE/,
      TheWorld : /TheWorld/,
      Weibo : /__weibo__/,
      NokiaBrowser : /NokiaBrowser/,
      Opera : /Opera|OPR\/(\d+[\.\d]+)/,
      Edge : /Edge/,
      AndroidBrowser : /Android.*Mobile\sSafari|Android\/(\d[\.\d]+)\sRelease\/(\d[\.\d]+)\sBrowser\/AppleWebKit(\d[\.\d]+)/i,
      IE : /Trident|MSIE/,
      Chrome : /Chrome|CriOS/,
      Safari : /Version[|\/]([\w.]+)(\s\w.+)?\s?Safari|like\sGecko\)\sMobile\/\w{3,}$/,
    };
    for (var i in browserRegExp) {
      if (browserRegExp[i].exec(ua)) {
        browserName = i;
        break;
      }
    }
    if (typeof window.ga !== 'undefined') {
      window.ga('set', 'dimension3', browserName);
    }

用ua 检测各种奇奇怪该的浏览器

原文:https://www.cnblogs.com/xiaoyuchen/p/11326225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!