如何从 Javascript 检查是否在 iOS 9+ 上的 Safari 手机上安装了应用程序?

问题描述

在 iOS 9 之前,通过 javascript 检查应用程序是否安装在 iPhone 上的一种方法是使用自定义 URI 方案,后跟超时:

window.location = "yourapp://";
setTimeout(function() {
  window.location = "https://yourdomain.com";
},25);

如果应用程序已安装 - 它将打开应用程序并且超时将永远不会执行,因为当应用程序打开时 javascript 将停止执行。

但在 iOS 9+ 的 safari 中,window.location = "yourapp://"; 行显示一个弹出窗口,询问用户是否要打开应用程序。基本上,由于这个原因,Javascript 不会被阻止执行,并且超时在应用程序打开之前执行,因此应用程序商店打开而不是应用程序。

Tl;dr- 在 iOS 9+ 中,在 Safari 中,如果安装了应用程序,即使应用程序商店也将使用此代码打开。因此,无法再使用此代码来检查应用程序何时安装,何时未安装。

那么有没有办法通过网页中的 Javascript 来检查运行 iOS 9+ 的 iPhone 上是否安装了应用程序?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)