首页
技术
生活
常用脚本
技术文档
关于
判断userAgent(ua)是否为pc或移动端脚本
  • 作者:王树东
  • 发布于:2020-10-07 18:16:40
  • 更新于:2020-10-07 18:16:40

判断ua是否为pc或移动端

识别网址 判断userAgent(ua)识别工具

/**
 * 判断用户浏览器终端信息
 *
 * browser.versions.ios 判断是否是IOS设备
 */
export const browser = () => {
  if (navigator) {
    const u = navigator ? 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('Adr') > -1, // android终端
      iPhone: u.indexOf('iPhone') > -1, // 是否为iPhone或者QQHD浏览器
      iPad: u.indexOf('iPad') > -1, // 是否iPad
      webApp: u.indexOf('Safari') === -1, // 是否web应该程序,没有头部与底部
      weixin: u.indexOf('MicroMessenger') > -1, // 是否微信
      qq: u.match(/\sQQ/i) === ' qq', // 是否QQ
    };
  }
  return {};
};

export const isMobile = () => {
  let ua = navigator.userAgent.toLowerCase();
  let is_mobile =
    ua.match(
      /(ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i,
    ) !== null;
  // if (is_mobile) {
  //   return true
  // }
  return is_mobile;
};

export const isPc = () => {
  const ua = navigator.userAgent;
  if (
    /AppleWebKit.*Mobile/i.test(ua) ||
    /MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(
      ua,
    )
  ) {
    return !/Android|webOS|iPhone|iPod|BlackBerry|iPad/i.test(ua);
  }
  return true;
};

export const isApp = () => {
  const ua = navigator.userAgent.toLowerCase();
  if (ua.indexOf('mobile') !== -1) {
    return true;
  }
  return false;
};

评论

暂无评论

发表评论

王树东的博客

Copyright © 2014-2020冀ICP备12011960号-15

FLOW ME

wsd312@163.com技术咨询和服务
starkland@163.combusiness cooperation

公众号

个人微信交个朋友
欢迎关注服务号更多技术等你来看