//url:app开发人员提供的uri,就是通过 Url scheme 来实现的H5与安卓、苹果应用之间的跳转链接。总之,你找app开发人员要就行了。如果是混合开发就只有一个url,如果是原生开发,就会有两个,一个安卓,一个ios。
//downUrl_ios: IOS下载页链接。
//downUrl_android: android下载页链接。
function openApp(url, downUrl_ios, downUrl_android) {
var ua = window.navigator.userAgent.toLowerCase();
// 判断是不是在微信环境下
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
window.location.href = ‘’;//下载页链接。自己做个判断,是ios还是安卓,然后跳转对应的就行。
//其实我觉得也可以不做这个判断,因为在微信环境本来就打不开app。只能跳下载页。。。
}else{
//如果当前是ios
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
var loadDateTime = new Date();
window.location.href = url; //下载页链接
window.setTimeout(function () {
var timeOutDateTime = new Date();
if (timeOutDateTime - loadDateTime < 1000) {
window.location.href = downUrl_ios;//ios下载地址
} else {
window.close();
}
}, 2000);
} else if (navigator.userAgent.match(/android/i)) { //如果当前是安卓
var state = null;
var loadDateTime2 = new Date();
window.location.href = url; //下载页链接
window.setTimeout(function () {
var timeOutDateTime2 = new Date();
if (timeOutDateTime2 - loadDateTime2 < 1000) {
window.location.href = downUrl_android; //android下载地址
} else {
window.close();
}
}, 2000);
}
}
}
参考了一些其他的文章:
https://www.cnblogs.com/binli/p/6729394.html
https://segmentfault.com/a/1190000009123583
https://blog.csdn.net/u010394015/article/details/51444744