h5页面判断是安卓还是ios访问

在写h5页面的时候经常会考虑到ios兼容问题,所以防止自己忘记,保存一下自己的代码,好复制

1.判断安卓或者ios

let ran = navigator.userAgent
let isAndroid = ran.indexOf('Android') > -1 || ran.indexOf('Linux') > -1
let isIOS = !!ran.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)

if (isAndroid) {
     // 安卓代码块
}
if (isIOS) {
     // ios代码块
}

一般情况到用上面的就够了,但是有些在某种情况下这个方法会失去效果,比如h5调用原生的方法.这个时候这个方法可能达不到预计的效果,这是因为ios中在调原生的方法时候,window.webkit未定义,然后,还有的时候方法未定义.

// 我是需要一个刷新页面, 我当时调用原生js的刷新直接就从app跳转到浏览器,虽然不知道为啥,但是我就让原生一个方法h5调用
let ran = navigator.userAgent
let isAndroid = ran.indexOf('Android') > -1 || ran.indexOf('Linux') > -1
let isIOS = !!ran.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)

if (window.androidInterface && isAndroid) {
    window.androidInterface.reload()
    return
}
// reload 是刷新的方法
if (window.webkit && window.webkit.messageHandlers.reload && isIOS) {
    window.webkit.messageHandlers.reload.postMessage('')
    return
}
location.reload()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值