我试图从浏览器深入链接到应用程序,这样做很好。 但问题是,iOS正在显示一个" Safari无法打开页面"然后重定向到应用商店(后备解决方案)。
是否可以制作一些JS魔法,以便弹出框不会出现?
以下是代码:
var now = new Date().valueOf();
setTimeout(function () {
if (new Date().valueOf() - now > 100) return;
window.location = "https://itunes.apple.com/us/app/twitter/id333903271?mt=8";
}, 10);
window.location = "twitter://timeline";
答案 0 :(得分:7)
我在一段时间后遇到了类似的情况,我认为最好的方法是使用iframe并为其提供源代码。
function mobileDeepLink() {
var iframe = document.createElement('iframe');
iframe.src = "twitter://timeline";
// hide iframe visually
iframe.width = 0;
iframe.height = 0;
iframe.frameBorder = 0;
var now = new Date().valueOf();
setTimeout(function () {
if (new Date().valueOf() - now > 100) return;
window.location = "https://itunes.apple.com/us/app/twitter/id333903271?mt=8";
}, 10);
// Append it to the body.
document.body.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
}
mobileDeepLink();
这样,当找不到方案时,你就不会看到错误弹出窗口。
<强>更新强>
此方法仅适用于IOS 8及更低版本。从IOS 9及更高版本开始,使用通用链接本机支持深度链接。