2011-10-04 45 views
2

对于我们的iPhone本机应用程序,我们有一个URL:例如://Ajax调用以检查设备上是否存在本机iPhone应用程序?

在iPhone上,如果我在safari中输入此URL(例如://),它会自动打开我的应用程序。

从我的“常规”网站我有一个链接,当用户点击它时打开应用程序。问题是,如果应用程序未安装在iPhone上,则会引发“无法打开”错误。

所以呈现在我的“正规”的网站上的链接之前,我需要检查是否安装了应用程序,一个解决方案是一个Ajax调用,并检查状态代码:

$.ajax({ 
        type: 'POST', 
        url: 'example://',     
        complete: function (transport) { 
         if (transport.status == 200) { 
          alert('Success');        
         } else { 
          alert(transport.status); 
          alert('Failed'); 
         } 
        } 
       }); 

但是这个代码是总是返回一个状态码“0”。

如果安装了原生iPhone应用程序,有什么方法可以从网上找到答案?

回答

0

如果你指的是移动Safari,你运气不好。没有记录的公共API,我知道这可以做到这一点。移动Safari被沙箱远离操作系统。

如果它在应用程序的webview中,您可以请求URL并让webview委托对本地应用程序/查询处理example://。否则,浏览器无法知道任何已安装的应用程序是否存在。

+0

是的,我指的是移动Safari ...并没有我没有任何网页视图:( –

相关问题