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

项目要求只能在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);
    }

转载于:https://www.cnblogs.com/xiaoyuchen/p/11326225.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值