Skip to content

判断当前设备

基本使用

vue
<script setup lang="ts">
import { onMounted, onUnmounted } from 'vue'
import { isWeiXin,isDeviceMobile,isQQBrowser,isSpider,isIos,isPC } from 'vue-hkp-ui'

console.log(isWeiXin())  //判断是否是微信浏览器
console.log(isDeviceMobile()) //判断是否是移动端
console.log(isQQBrowser()) //判断是否是QQ浏览器
console.log(isSpider()) //判断是否是爬虫
console.log(isIos()) //判断是否是ios
console.log(isPC()) //判断是否是PC端

</script>

内部方法

vue
<script setup lang="ts">
// 是否是微信浏览器
export const isWeiXin = () => {
  let ua:any = navigator.userAgent.toLowerCase()
  return ua.match(/microMessenger/i) == 'micromessenger'
}
// 是否是移动端
export const isDeviceMobile = () => {
  let ua:any = navigator.userAgent.toLowerCase()
  return /android|webos|iphone|ipod|balckberry/i.test(ua)
}
// 是否是QQ浏览器
export const isQQBrowser = () => {
  let ua:any = navigator.userAgent.toLowerCase()
  return !!ua.match(/mqqbrowser|qzone|qqbrowser|qbwebviewtype/i)
}
// 是否是爬虫
export const isSpider = () => {
  let ua:any = navigator.userAgent.toLowerCase()
  return /adsbot|googlebot|bingbot|msnbot|yandexbot|baidubot|robot|careerbot|seznambot|bot|baiduspider|jikespider|symantecspider|scannerlwebcrawler|crawler|360spider|sosospider|sogou web sprider|sogou orion spider/.test(ua)
}
// 是否ios
export const isIos = () => {
  var u = navigator.userAgent;
  if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {  //安卓手机
      return false
  } else if (u.indexOf('iPhone') > -1) {//苹果手机
      return true
  } else if (u.indexOf('iPad') > -1) {//iPad
      return false
  } else if (u.indexOf('Windows Phone') > -1) {//winphone手机
      return false
  } else {
      return false
  }
}
// 是否为PC端
export const isPC = () => {
  var userAgentInfo = navigator.userAgent;
  var Agents = ["Android", "iPhone",
      "SymbianOS", "Windows Phone",
      "iPad", "iPod"];
  var flag = true;
  for (var v = 0; v < Agents.length; v++) {
      if (userAgentInfo.indexOf(Agents[v]) > 0) {
          flag = false;
          break;
      }
  }
  return flag;
}
</script>

Released under the MIT License.