我想创建一个网页,如果iPhone没有安装应用程序,这个页面会将iPhone重定向到App Store,但是如果iPhone安装了应用程序,我想让它打开应用程序。
我已经在iPhone应用程序中实现了一个自定义网址,因此我有一个应用程序的网址,如下所示:
myapp://
如果这个URL无效,我希望页面重定向到App Store。这到底有没有可能?
如果我没有在手机上安装应用程序,并在Safari中编写myapp:// URL,我得到的只是一条错误消息。
即使JavaScript存在一个丑陋的黑客攻击,我真的很想知道。
发布于 2013-05-24 01:16:40
为了进一步得到认可的答案,您有时需要添加额外的代码来处理启动应用程序后返回浏览器的用户- setTimeout函数将在他们返回时运行。所以,我这样做:
var now = new Date().valueOf();
setTimeout(function () {
if (new Date().valueOf() - now > 100) return;
window.location = "https://itunes.apple.com/appdir";
}, 25);
window.location = "appname://";
这样,如果代码执行冻结(即应用程序切换),它就不会运行。
发布于 2014-08-19 00:17:04
iOS Safari有一个功能,允许你添加一个“智能”横幅到你的网页,它将链接到你的应用程序,如果它已安装,或应用程序商店。
您可以通过向页面添加meta
标记来完成此操作。如果你想让应用程序在加载时做一些特殊的事情,你甚至可以指定一个详细的应用程序URL。
详情请参见苹果的Promoting Apps with Smart App Banners页面。
该机制具有容易和呈现标准化横幅的优点。缺点是您无法对外观或位置进行太多控制。此外,如果页面是在Safari以外的浏览器中查看的,则所有的赌注都会失效。
发布于 2014-11-19 11:06:53
你可以看看这个试图解决这个问题的插件。它基于missemisa和Alastair等人所描述的相同方法,但使用了隐藏的iframe。
https://stackoverflow.com/questions/13044805
复制相似问题