判断是app 或者 网页

function openInWebview() {
  // 获取用户代理信息并转为小写
  let ua = navigator.userAgent.toLowerCase();

  // 如果是在微信浏览器中打开
  if (ua.match(/MicroMessenger/i) === 'micromessenger') { 
    return false;
  } 
  
  // 如果是在QQ浏览器中打开
  else if (ua.match(/QQ/i) === 'qq') { 
    return false;
  } 
  
  // 如果是在微博浏览器中打开
  else if (ua.match(/WeiBo/i) === "weibo") {
    return false;
  } 
  
  // 如果是在Android设备上
  else {
    if (ua.match(/Android/i) != null) {
      // 若没有匹配到"browser"关键词,则认为是在Webview中
      return ua.match(/browser/i) == null;
    } 
    
    // 如果是在iPhone设备上
    else if (ua.match(/iPhone/i) != null) {
      // 若没有匹配到"safari"关键词,则认为是在Webview中
      return ua.match(/safari/i) == null;
    } 
    
    // 其他设备
    else {
      return (ua.match(/macintosh/i) == null && ua.match(/windows/i) == null);
    }
  }
}

// 设置全局变量isApp,标识是否在Webview中
window.isApp = !!openInWebview();

相关链接

// 这里添加您需要的链接,例如:
// MDN: NavigatorID.userAgent

posted on 2019-09-17 14:15  完美前端  阅读(545)  评论(0)    收藏  举报

导航