safari中判断app是否安装

来源:互联网 发布:阿里云学生 编辑:程序博客网 时间:2024/06/08 01:13

最近遇到一个需求,需要在safari中判断用户在设备上是否安装了某App,如果安装了则自动启动此App,如果没有,则跳转到appstore上。


困难在:放此app未安装时,safari会自动弹出一个提示框:“无法打开网页”,会稍稍影响用户体验。

最终使用iframe的方式,效果能稍稍好些,比如在iphone5上,不过在iphone4上还是有提示,看来这个提示很难完全去掉。


此html的代码如下:

<html>       <head>           <meta name="viewport" content="width=device-width" />       </head>                           <a href="http://itunes.apple.com/cn/app/wen-yi-sheng/id551521341?mt=8" id="openApp">问医生</a>        <script type="text/javascript">            document.getElementById('openApp').onclick = function(e){                // 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为                // 否则打开a标签的href链接                var ifr = document.createElement('iframe');                ifr.src = 'wbmain://';                ifr.style.display = 'none';                document.body.appendChild(ifr);                window.setTimeout(function(){                                  document.body.removeChild(ifr);                                  },3000)            };            </script>  </html>


原创粉丝点击