最近没那么忙,把之前做的一些东西整理下,今天就来记录下H5如何启动App吧,就当做个笔记记录下,以后有用到能直接运用,也希望能帮助有需要的朋友。
//这里是 Scheme 地址 都是做IOS或者安卓的人员配置的 这里拿微信举例
var appUrl = 'weixin://;
openApp(appUrl,function (isOpen) {
//这里面是回调函数,可根据需求自己写
});
function openApp(openUrl,callback) {
//检查app是否打开
function checkOpen(cb){
var _clickTime = +(new Date());
function check(elsTime) {
if ( elsTime > 3000 || document.hidden || document.webkitHidden) {
cb(1);
} else {
cb(0);
}
}
//启动间隔20ms运行的定时器,并检测累计消耗时间是否超过3000ms,超过则结束
var _count = 0, intHandle;
intHandle = setInterval(function(){
_count++;
var elsTime = +(new Date()) - _clickTime;
if (_count>=100 || elsTime > 3000 ) {
clearInterval(intHandle);
check(elsTime);
}
}, 20);
}
//在iframe 中打开APP
var ifr = document.createElement('iframe');
ifr.src = openUrl;
ifr.style.display = 'none';
if (callback) {
checkOpen(function(opened){
callback && callback(opened);
});
}
document.body.appendChild(ifr);
setTimeout(function() {
document.body.removeChild(ifr);
}, 2000);
}
这个方法它会检查是否有安装你所需要启动的APP,没有的话就会就如回调函数,执行回函数的操作。