从浏览器启动应用程序

Launch App from browser

本文关键字:应用程序 启动 浏览器      更新时间:2023-09-26

我正在尝试启动我的应用程序,以防它已安装,如果应用程序不存在,则回退到我的网站。(从以下方面获得了一些见解:如何检查iPhone上的网页是否安装了应用程序?

我能够使用自定义url方案启动应用程序,但只有在有用户交互(例如,用户点击按钮/链接)时才能启动:

 <a onclick="window.open('myapp://foo=bar', '_system')">Launch myapp</a>

然而,当使用时

window.open('myapp://foo=bar','_system');

window.location='myapp://foo=bar'

如果没有用户交互(例如,在窗口加载/文档就绪时),应用程序就不会启动。

这是意料之中的事吗?

有解决办法吗?

谢谢Sagi

这是意料之中的事。在调用window.open()之前,需要首先进行用户交互。这不能用程序来完成。

你可能还想看看通用链接。这种通过普通的http://链接启动应用程序的方法是新的首选方法,而不是使用URL方案。使用通用链接,您不需要处理确定应用程序是否已安装的逻辑。它是自动处理的。所有大公司都采用这种方法。也可以看看这个博客。