js程式碼判斷瀏覽器

houqq發表於2019-01-23

一、在公共的js部分引入一個js檔案判斷當前的瀏覽器,程式碼如下

let browser = {
  versions: (function () {
    let u = navigator.userAgent
    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 || u.indexOf(`Adr`) > -1, // android終端或uc瀏覽器
      iPhone: u.indexOf(`iPhone`) > -1, // 是否為iPhone或者QQHD瀏覽器
      iPad: u.indexOf(`iPad`) > -1, // 是否iPad
      webApp: u.indexOf(`Safari`) === -1,
      weixin: u.indexOf(`MicroMessenger`) > -1, // 是否微信 (2015-01-22新增)
      qq: u.indexOf(` QQ`) > -1 // 是否QQ
      // 是否web應該程式,沒有頭部與底部
    }
  }()),
  language: (navigator.browserLanguage || navigator.language)
    .toLowerCase()
}

export default browser

二、在需要判斷的元件裡區域性引用此檔案

import browser from `common/js/judge_device.js`

假設需要判斷該瀏覽器是否是微信瀏覽器

console.log(browser.versions.weixin) // true就是微信瀏覽器,否則為其他瀏覽器

相關文章