我想在 iPhone Safari 上使用自定义 URL 方案确定已安装的应用程序。
你可能认为这是不可能的,但 JavaScript 帮助我解决了这个问题。
<script>(function(){
var fallbackLink = '<?=$info['failed_url']?>'+window.location.search+window.location.hash;
var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone'),
isAndroid = navigator.userAgent.match('Android');
if (isiOS || isAndroid) {
document.getElementById('loader').src = '<?=$info['scheme']?>://'+window.location.search+window.location.hash;
fallbackLink = isAndroid ? '<?=$info['failed_url']?>' :
'<?=$info['failed_url']?>' ;
}
window.setTimeout(function (){ window.location.replace(fallbackLink); }, 1000);
})();</script>
这是我的脚本。
我已经知道 iPhone 应用程序的自定义 URL 方案。如果它存在于 iPhone 上,它会成功启动应用程序。但是,如果 iPhone 没有该应用程序,它会重定向到不同的页面。
我在失败的网页上放置了某些代码以注意到用户没有应用程序。在我发现这个之前,我的计划是完美的。
即使应用程序在超时后在 iPhone 上启动,JavaScript 重定向仍然有效。
如果 iPhone 启动应用程序,有没有办法停止 JavaScript?
谢谢你。