完成在线注册过程后,我想检查用户是否使用 iPhone,在这种情况下,请选择打开 App Store 以下载该应用程序。到目前为止,这是我编写的代码:
- 在 PHP 中,检查
$_SERVER['HTTP_USER_AGENT']
是否存在子字符串“iPhone”。 - 如果是这样,输出 JavaScript 代码,在重定向到欢迎页面之前,提供使用确认框进入 App Store 的可能性。
- 重定向到在 JavaScript 中使用
itms-apps://itunes.apple.com/url-to-my-app
。window.location = ...
这行得通。但是,当用户再次打开 Safari 时,我重定向的页面仍然打开。在我的情况下,这没有任何意义。无论用户是否选择打开 App Store,我都想重定向到欢迎页面。如果我尝试window.location
在第一行下方写另一行来执行第二次重定向,Safari 会简单地跳过指向 App Store 的链接。
我考虑过从隐藏的 iframe 重定向,在第二个重定向上放置某种计时器,尝试 JavaScript 和 HTTP 标头重定向的不同组合等等。不过,到目前为止,我所想到的解决方案似乎都不是真正可靠的。如果我希望它在浏览器和版本之间正常工作,我该怎么做?