js-系统环境判断

3 篇文章 0 订阅
2 篇文章 0 订阅

有时候一份代码可以要适应pc端,移动端。而pc可用又windows,mac系统,移动分android,ios系统。那我们怎么判断当前环境是处于什么系统下呢?

window.navigator.userAgent用来区分设备和浏览器

navigator是window对象的一个属性,包含有关浏览器的信息。userAgent是客户端发送服务器的 user-agent 头部的值。我们使用的比较多的就是userAgent。

这里介绍一个插件mobile-detect,该插件用来获取移动端设备信息的。

import MobileDetect from 'mobile-detect'
const md = new MobileDetect(window.navigator.userAgent)

function isIos() {
    return md.is('iOS')
 }

function isAndroid() {
    return md.is('AndroidOS')
}

function  isMobile() {
    return this.isIos() || this.isAndroid() ? true : false
}

function  isDesktop() {
    return !this.isMobile()
}
怎么判断横屏竖屏?

可以通过window.orientation来判断设备的横竖屏。

function checkOriention() {
    let screenOrientation = ''
    if (window.orientation == 0 || window.orientation == 180){
        screenOrientation = 'portrait';
    }
    else if (window.orientation == 90 || window.orientation == -90){
        screenOrientation = 'landscape';
    }
    return screenOrientation;
}

这里的portrait是纵向的意思,landscape是横向的意思。

怎么判断是微信浏览器还是企业微信浏览器?
function isWxBrowser() {
    const ua = navigator.userAgent.toLowerCase()
    const isWx = ua.match(/MicroMessenger/i)
    const isEnterpriseWx = ua.match(/WxWork/i)

    return isWx && !isEnterpriseWx
}

function  isEnterpriseWxBrowser() {
    const ua = navigator.userAgent.toLowerCase()
    const isWx = ua.match(/MicroMessenger/i)
    const isEnterpriseWx = ua.match(/WxWork/i)

    return isWx && isEnterpriseWx
}

怎么判断是windows 还是mac系统?

 function isWindows(){
    return /macintosh|mac os x/i.test(navigator.userAgent)
  }

 function isMac(){
    return /windows|win32/i.test(navigator.userAgent)
  }

好了,上述有什么问题,欢迎指正!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值