在写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()