尝试打开未安装的本机应用程序时如何防止 iOS Safari 警报?

新手上路,请多包涵

我一直在寻找一种从浏览器打开本机 iOS 应用程序的方法。我在这里找到了一个不错的解决方案: Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?

当您安装了该应用程序时,此解决方案效果很好。但是当用户没有安装这个应用程序时 - Safari 会触发一条错误消息,显示“Safari 无法打开页面,因为地址无效。”

有没有办法阻止这种行为,而是提示用户下载应用程序?

原文由 Dima Feldman 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 316
1 个回答

这是一个适合我的解决方案:

 var timeout;

function preventPopup() {
    clearTimeout(timeout);
    timeout = null;
    window.removeEventListener('pagehide', preventPopup);
}

function openApp() {
    $('<iframe />')
    .attr('src', appurl)
    .attr('style', 'display:none;')
    .appendTo('body');

    timeout = setTimeout(function() {
            document.location = appstore;
    }, 500);
    window.addEventListener('pagehide', preventPopup);
}

原文由 ElizaS 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题