js判斷瀏覽器、瀏覽器內核與客戶端


判斷瀏覽器內核

// 判斷瀏覽器內核
    browserKernel() {
      var u = navigator.userAgent,
        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('Adr') > -1, //android終端
        iPhone: u.indexOf('iPhone') > -1, //是否為iPhone或者QQHD瀏覽器
        iPad: u.indexOf('iPad') > -1, //是否iPad
        webApp: u.indexOf('Safari') == -1, //是否web應該程序,沒有頭部與底部
        weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
        qq: u.match(/\sQQ/i) == ' qq' //是否QQ
      }
    }
判斷瀏覽器
browser() {
      // 取得瀏覽器的userAgent字符串
      var userAgent = navigator.userAgent
      // 判斷是否Opera瀏覽器
      var isOpera = userAgent.indexOf('Opera') > -1
      // 判斷是否IE瀏覽器
      var isIE =
        userAgent.indexOf('compatible') > -1 &&
        userAgent.indexOf('MSIE') > -1 &&
        !isOpera
      // 判斷是否IE的Edge瀏覽器
      var isEdge = userAgent.indexOf('Edge') > -1
      // 判斷是否Firefox瀏覽器
      var isFF = userAgent.indexOf('Firefox') > -1
      // 判斷是否Safari瀏覽器
      var isSafari =
        userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') === -1
      // 判斷Chrome瀏覽器
      var isChrome =
        userAgent.indexOf('Chrome') > -1 && userAgent.indexOf('Safari') > -1

      if (isIE) {
        var reIE = new RegExp('MSIE (\\d+\\.\\d+);')
        reIE.test(userAgent)
        var fIEVersion = parseFloat(RegExp['$1'])
        if (fIEVersion === 7) {
          return 'IE7'
        } else if (fIEVersion === 8) {
          return 'IE8'
        } else if (fIEVersion === 9) {
          return 'IE9'
        } else if (fIEVersion === 10) {
          return 'IE10'
        } else if (fIEVersion === 11) {
          return 'IE11'
        } else {
          return 'IE'
        }
      }
      if (isOpera) {
        return 'Opera'
      }
      if (isEdge) {
        return 'Edge'
      }
      if (isFF) {
        return 'FF'
      }
      if (isSafari) {
        return 'Safari'
      }
      if (isChrome) {
        return 'Chrome'
      }
    }

判斷客戶端

browserKernel() {
      const u = navigator.userAgent
      // const 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('Adr') > -1, // android終端
        iPhone: u.indexOf('iPhone') > -1, // 是否為iPhone或者QQHD瀏覽器
        iPad: u.indexOf('iPad') > -1, // 是否iPad
        webApp: u.indexOf('Safari') === -1, // 是否web應該程序,沒有頭部與底部
        weixin: u.indexOf('MicroMessenger') > -1, // 是否微信 (2015-01-22新增)
        qq: u.match(/\sQQ/i) === ' qq' // 是否QQ
      }
    }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM