之前遇到的问题是,Android手机在除微信外的浏览器能正常跳转或下载,在微信端判别不出来
实现的效果如下
- ios通过App Store打开或者跳转
- Android通过应用宝
toApp=function (){//封装个跳转app的方法
var device = navigator.userAgent.toLowerCase();
var config = {
//scheme:必须要有,与app里的配置scheme一致
scheme_IOS: 'xxx://',
scheme_Adr: 'xxx://',
download_url:"http://xxxx",//app的下载链接
timeout: 1000
};
function openApp() {
var startTime = Date.now();
var ifr = document.createElement('iframe');
ifr.src = device.indexOf('os') > 0 ? config.scheme_IOS : config.scheme_Adr;
ifr.style.display = 'none';
document.body.appendChild(ifr);
var time = setTimeout(function() {
document.body.removeChild(ifr);
var endTime = Date.now();
if (!startTime || endTime - startTime < 1040) {
if (device.indexOf('os') > 0) {
window.location = config.download_url;
} else {
//在应用宝的下载链接,用下载链接在微信端调不起app,所以都用应用宝判断了
window.location = 'http://a.app.qq.com/o/simple.jsp?pkgname=com.xxxx'
}
}
}, 1000);
window.onblur = function() {
clearTimeout(time);//清楚定时器
}
}
openApp();
};