2009-07-16 58 views
16

如您所知,iPhone应用程序可以注册一个自定义URL方案处理程序ala“myapp:”,这些程序可用于在Safari中查看的页面中的链接。如何通过Safari Mobile中的JavaScript检测我的iPhone应用程序是否已安装?

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

我该如何做这种检测?谷歌搜索没有结果。此外,要靠谱,我试着做这样的事情无济于事:

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

有没有人碰到办法做到应用程序检测?

+3

不可能...抱歉老兄: - /不幸的是,这可以用来做各种各样的坏事。这将是一个广告主的困境:-) – 2009-07-16 04:18:19

+0

@BenGotow你知道Android如何做到这一点,没有发生各种不好的事情? – Shane 2015-06-04 23:16:05

回答

6

The solution我在另一个堆栈上呈现溢出问题与您将要得到的差不多。

0

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

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

祝你好运。

+0

自定义URL方案当然是可能的,因此处理“myapp://”URL是没有问题的。我的愿望是在尝试将访问者发送到应用程序之前,检查应用程序是否安装了*处理*这些URL。 – davemyron 2009-07-16 02:13:01

相关问题