如何通过Safari Mobile中的javascript检测我的iPhone应用程序是否已安装?

时间:2009-07-16 00:40:59

标签: javascript iphone

您可能知道,iPhone应用程序可以注册自定义URL方案处理程序,ala“myapp:”,这些可以用于在Safari中查看的页面中的链接。

如果访问者安装了应用,我想从特定页面自动启动我的应用程序。如果未安装该应用,我只会向他们展示该页面的当前移动设备优化视图。

我该如何进行此检测?谷歌的搜索毫无结果。另外,为了变得棘手,我尝试过这样的事情无济于事:

var image = new Image();
image.onerror = function(e){
  alert("bummer");
}
image.onload = function(e){
  alert('success!');
}
image.src = 'myapp://something=meaningful';

有没有人遇到过应用程序检测的方法?

2 个答案:

答案 0 :(得分:6)

The solution我已经提出了另一个Stack Overflow问题,就像你将要获得的那样。

答案 1 :(得分:0)

我不认为这是可能的。您需要在iPhone / Mobile Safari上注册您的应用程序,然后创建一个uri来启动您的应用程序,就像http:,ftp:mailto:。所以在你的情况下,你会有类似的东西,我安装Mobile Safari需要知道要启动哪个应用程序加载该URI,我只是不认为这个功能是内置在iPhone中。我知道javascript无法查询你的iPhone以查看已安装的内容。

我希望我错了,因为这似乎是一个强大的功能,但另一方面我可以看到一些与此类相关的安全问题。

祝你好运。