首页 > 技术文章 > 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等

wannananana 2019-12-16 09:28 原文

【主要知识】

浏览器设备信息:navigator.userAgent(本文中主要用到知识)

浏览器版本信息:navigator.appVersion

var ua = navigator.userAgent;var browser = {
  versions: function () { // 浏览器版本信息
    return {
      trident: ua.indexOf('Trident') > -1, // IE浏览器 trident内核
      presto: ua.indexOf('Presto') > -1, // opera浏览器 presto内核
      webKit: ua.indexOf('AppleWebKit') > -1, // chrome safari浏览器 webkit内核
      gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') == -1, //firefox浏览器 gecko内核
      mobile: !!ua.match(/AppleWebKit.*Mobile.*/), // 是否为移动终端
      ios: !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), // ios终端
      android: ua.indexOf('Android') > -1 || ua.indexOf('Linux') > -1, // android终端或UC浏览器
      iPad: ua.indexOf('iPad') > -1, //iPad终端
      webApp: ua.indexOf('Safari') == -1 //是否web应用程序,没有头部与底部
    }
  }(),
  language: (navigator.browserLanguage || navigator.language).toLowerCase() // 文档语言
}

if (browser.versions.mobile) { // 判断是否是移动设备打开  if (ua.match(/MicroMessenger/i) == "MicroMessenger") {
    // 在微信中打开
  }
  if (ua.match(/WeiBo/i) == "Weibo") {
    // 在新浪微博客户端打开
  }
  if (ua.match(/QQ/i) == "QQ") {
    // 在QQ端打开
  }
  if (browser.versions.ios) {
    // 在IOS浏览器打开
  }
  if (browser.versions.android) {
    // 在安卓浏览器打开
  }
}
else { // 否则就是PC浏览器打开 }

 

【参考文章】

js判断当前页面是在QQ客户端...

移动端如何判断当前设备...

推荐阅读