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
  }
}
复制代码
相关文章
相关标签/搜索