js 判斷當前頁面處於什麼設備終端和瀏覽器環境

背景

不少H5的項目,須要判斷宿主環境的處於什麼設備終端和瀏覽器環境, 好比微信微博釘釘的分享. 須要經過js就能夠判斷當前頁面是在什麼瀏覽器打開的。android

const browser = function() {
  const ua =  navigator.userAgent;
  const appVersion = navigator.appVersion;
  const version = {
     isIos: !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // ios 終端 
     //isMobile: !!ua.macth(/(iPhone|iPod|iPad|Android|ios)/i), // 是否移動終端
     isMobile: !!ua.match(/AppleWebKit.*Mobile.*/), // 是否移動終端
     isAndroid: ua.indexOf('Android') > -1 || ua.indexOf('Linux') > -1, // android 終端端或者uc 瀏覽器
     // isAndroid: !!appVersion.match(/android/gi),
     isIphone: !!ua.indexOf('iPhone') > -1, // 是否爲iPhone或則QQHD瀏覽器
     // isIphone:  !!appVersion.match(/iphone/gi);
     iPad: ua.indexOf('iPad') > -1, // 是不是iPad
     isWebApp: ua.indexOf('Safari') === -1, // 是否爲Webapp,沒有頭部和底部
     isTrident: ua.indexOf('Trident') > -1, //IE內核
     isPresto: ua.inexOf('Presto') > -1, // opera 內核
     isWebKit: ua.indexOf('AppleWebkit') > -1, // 蘋果谷歌內核
     isGecko: ua.indexOf('Gecko') > -1 && u.indexOf('KHTML') === -1, //火狐內核
     isWechat: !!ua.match(/micromessenger/gi),
     isWeiBo: !!ua.match(/weibo/gi),
     isQQ: !!ua.match(/qq/gi),
  }
  const language = (navigator.browserLanguage || navigator.language).toLowerCase();
  return {
     version, language
  }
}
複製代碼
相關文章
相關標籤/搜索