H5页面打开App的问题?

window.location.href="test://com.bhkj.imk"; // 这是打开某app的协议
setTimeout(function(){

window.location.href="https://www.baidu.com";

},1000);
以上代码在移动端上执行,如果手机上没有安装该APP则会跳转到百度页面上,而如果手机上已经安装该APP则会成功打开APP,但问题是在APP上点击返回上一个页面,则会跳到百度的页面。现在,有没有办法,当成功打开APP后,不让JS继续执行跳转百度?

阅读 4.7k
4 个回答
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<head>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<title>点击唤醒demo</title>
</head>
<body>
<style>
#zjmobliestart{font-size:40px;}
</style>

<!--
说明:通过h5可换醒app,如访问一个URL,点击按钮,打开应用,如果该应用APP没有安装,那么直接跳转到App Store的APP下载页面,通过点击的方式。兼容性较好,如果安装了app,在手机各大浏览器(360浏览器 uc浏览器 搜狗浏览器 QQ浏览器 百度浏览器 )和QQ客户端中,能唤醒。微信 新浪微博客户端 腾讯微博客户端无法唤醒。
-->

<a href="zjmobile://platformapi/startapp" id="zjmobliestart" target="_blank">唤醒浙江移动手机营业厅!</a>

<script type="text/javascript"> 
function applink(){  
    return function(){  
        var clickedAt = +new Date;  
         setTimeout(function(){
             !window.document.webkitHidden && setTimeout(function(){ 
                   if (+new Date - clickedAt < 2000){  
                       window.location = 'https://itunes.apple.com/us/app/zhe-jiang-yi-dong-shou-ji/id898243566#weixin.qq.com';  
                   }  
             }, 500);       
         }, 500)   
    };  
}  
document.getElementById("zjmobliestart").onclick = applink();  
</script>   
</body>
</html>

哈哈哈,貌似木有。我一年前为了做已经安装app,则跳转到app,未安装打开下载页的功能的时候,从网易新闻页面看到了相似的代码。 IOS的话走通用链接(Universal Links)吧,这样进通用链接页面的一定是没安装的,安卓的话就真的没有办法了。。。我用的也是和你上面一样的原理,哈哈哈

没有办法。因为你这一秒跑完了。有可能app都调不起来。。。增加时长。然后判断当前页面是不是hidden状态。如果是hidden状态就不执行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题