admin 管理员组

文章数量: 1184232

最近遇到一个需求,需要在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/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>


本文标签: Safari App