美文网首页
当前浏览器的判断 QQ内置浏览器还是QQ浏览器

当前浏览器的判断 QQ内置浏览器还是QQ浏览器

作者: 还在努力的乌贼 | 来源:发表于2020-08-17 11:02 被阅读0次
var browser ={
    versions: function() {
      var u = navigator.userAgent,
      var ua = navigator.userAgent.toLocaleLowerCase();
      app = navigator.appVersion;
      return {
        trident: u.indexOf('Trident') > -1,                        /*IE内核*/

        presto: u.indexOf('Presto') > -1,          /*opera内核*/

        webKit: u.indexOf('AppleWebKit') > -1, /*苹果、谷歌内核*/

        gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,        /*火狐内核*/

        mobile: !!u.match(/AppleWebKit.*Mobile.*/),        /*是否为移动终端*/

        ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), /*ios终端*/

        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, /*android终端或者uc浏览器*/

        iPhone: u.indexOf('iPhone') > -1,          /*是否为iPhone或者QQHD浏览器*/

        iPad: u.indexOf('iPad') > -1,      /*是否iPad*/

        webApp: u.indexOf('Safari') == -1,          /*是否web应该程序,没有头部与底部*/

        souyue: u.indexOf('souyue') > -1,

        superapp: u.indexOf('superapp') > -1,

        weixin:u.toLowerCase().indexOf('micromessenger') > -1,
 
        qq: ua.match(/QQ/i) == "qq", // QQ
 
        weiBo: ua.match(/WeiBo/i) == "weibo", // 微博
 
        Safari:u.indexOf('Safari') > -1,
 
        QQbrw: u.indexOf('mqqbrowser') > -1, // QQ浏览器
 
        webview: !(u.match(/Chrome\/([\d.]+)/) || u.match(/CriOS\/([\d.]+)/)) && u.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),
 
        ucweb: function () {
          try {
            return parseFloat(u.match(/ucweb\d+\.\d+/gi).toString().match(/\d+\.\d+/).toString()) >= 8.2
          } catch (e) {
            if (u.indexOf('UC') > -1) {
              return true;
            }
            return false;
          }
        }(),
 
        Symbian: u.indexOf('Symbian') > -1,
        ucSB: u.indexOf('Firofox/1.') > -1
      };

    }(),

    language: (navigator.browserLanguage || navigator.language).toLowerCase()

  };

判断是在qq内置浏览器还是qq浏览器

browser.versions.qq && !browser.versions.QQbrw

转载于:https://www.cnblogs.com/ryze/p/ryze13.html
但是原文在对qq浏览器做判断是匹配的是大写字符串MQQBrowser,我测试时发现行不通,然后改成小写的mqqbrowser就没问题了。或者创建versions对象时候QQbrw项的匹配用ua去判断也行,前面ua = navigator.userAgent.toLocaleLowerCase()已经转换成小写了

QQbrw: ua.indexOf('mqqbrowser') > -1

相关文章

网友评论

      本文标题:当前浏览器的判断 QQ内置浏览器还是QQ浏览器

      本文链接:https://www.haomeiwen.com/subject/cpphjktx.html