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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

正如您可能知道的那样,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';

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

提问于
用户回答回答于
用户回答回答于

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

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

扫码关注云+社区