1***@163.com
1***@163.com
  • 发布:2019-09-26 17:47
  • 更新:2020-03-14 10:59
  • 阅读:1256

h5页面唤起app

分类:MUI


项目需求通过h5唤起app:
代码:
<script>
document.title= (new Date()).getTime()
function submitFn(){
//判断浏览器
var u = navigator.userAgent;
if(/MicroMessenger/gi.test(u)) {
// 引导用户在浏览器中打开
alert('请在浏览器中打开');
return;
}
var d = new Date();
var t0 = d.getTime();
if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1){
if(openApp("test://startapp")){
openApp('test://startapp');
}else{
//由于打开需要1~2秒,利用这个时间差来处理--打开app后,返回h5页面会出现页面变成app下载页面,影响用户体验
var delay = setInterval(function(){
var d = new Date();
var t1 = d.getTime();
if( t1-t0<3000 && t1-t0>2000){
window.location.href = "http://jqweui.com/";
}
if(t1-t0>=3000){
clearInterval(delay);
}
},1000);
}
}else if(u.indexOf('iPhone') > -1){ //IOS
if(openApp("test://startapp")){
openApp("test://startapp");
}else{
var delay = setInterval(function(){
var d = new Date();
var t1 = d.getTime();
if( t1-t0<3000 && t1-t0>2000){
window.location.href = "http://jqweui.com/";
}
if(t1-t0>=3000){
clearInterval(delay);
}
},1000);
}
}
}

function openApp(src) {  
// 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为  
// 否则打开a标签的href链接  
    document.getElementById("testText").innerHTML = document.getElementById("testText").innerHTML+src;  
     var ifr = document.createElement('iframe');  
     ifr.src = src;  
     ifr.style.display = 'none';  
     document.body.appendChild(ifr);  
     window.setTimeout(function(){  
          document.body.removeChild(ifr);  
     },2000);  
}  

</script>  

但是安卓已成功唤起, ios却无法识别是否安装了app, 然后唤起app, 而用window.location.href=“test://startapp” 可以唤起app 这是代码哪一步有问题呢
请教下

2019-09-26 17:47 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com - 你可愿与我再并肩

有好的解决办法了吗

该问题目前已经被锁定, 无法添加新回复