如何通过JavaScript检测用户是否安装了特定的iPhone应用程序?

如何通过JavaScript检测用户是否安装了特定的iPhone应用程序?,iphone,Iphone,我想构建一个移动Web应用程序,它可以: 如果我的iPhone应用程序已经安装,则通过重定向到该应用程序处理的URL来启动它 如果未安装我的iPhone应用程序,则会显示一个网页,鼓励用户从应用程序商店下载 问题是,我不知道如何在重定向之前检测应用程序是否已安装。有人知道这样做的诀窍吗?可能是某种JavaScript攻击,利用iframe或类似应用程序注册的URL?你很可能无法做到这一点。即使在本机应用程序中,您也只能调用UIApplication的canOpenURL:方法,该方法只会告

我想构建一个移动Web应用程序,它可以:

  • 如果我的iPhone应用程序已经安装,则通过重定向到该应用程序处理的URL来启动它
  • 如果未安装我的iPhone应用程序,则会显示一个网页,鼓励用户从应用程序商店下载

问题是,我不知道如何在重定向之前检测应用程序是否已安装。有人知道这样做的诀窍吗?可能是某种JavaScript攻击,利用iframe或类似应用程序注册的URL?

你很可能无法做到这一点。即使在本机应用程序中,您也只能调用UIApplication的canOpenURL:方法,该方法只会告诉您是否有应用程序将打开URL,而不是哪个应用程序。我不知道这个函数是否在JavaScript中公开;很可能不会(我不希望恶意javascript探测我的手机可以打开哪些URL)

看看这个答案