如何在不阻塞的情况下从浏览器重定向到移动应用程序?
How to redirect from a browser to a mobile application without blocking?
任务:有一个移动应用程序,其中执行到浏览器的重定向。在浏览器中,用户按下另一个按钮并进入另一个浏览器页面。他一进入浏览器的第二页,几秒钟后我需要自动 return 用户转到移动应用程序。我的解决方案:因为应用程序是用 Cordova 构建的,所以我使用了 cordova-plugin-customurlscheme。根据文档创建了一个android scheme = 'mycoolapp',配置了AndroidManifest等。一切正常。问题:当我制作 link
<a href="mycoolapp://"> Open my app </a>
并且用户点击它,应用程序打开没有问题。但是我需要一个没有用户参与的自动重定向。我这样试过:
mounted: function () {
window.open('mycoolapp://', '_system')}
在此处以弹出窗口形式打开 window 并要求用户确认打开。否则阻塞。很明显,浏览器将其视为垃圾邮件。你能建议其他选择吗?或者我做错了什么?
首先,不要在新的 window 中打开,这样至少不需要询问打开 window。你可以简单地
window.location.href = "mycoolapp://"
不确定您是否遇到其他对话框,我想您可能也看到了 "open link in the app?" 类型的对话框,但我对那个对话框没有帮助。我认为这是强制性的?
可以保留标签,使用JS脚本模拟点击动作
<a id="my-cool-app" href="mycoolapp://"> Open my app </a>
mounted() {
document.getElementById('my-cool-app').click();
}
任务:有一个移动应用程序,其中执行到浏览器的重定向。在浏览器中,用户按下另一个按钮并进入另一个浏览器页面。他一进入浏览器的第二页,几秒钟后我需要自动 return 用户转到移动应用程序。我的解决方案:因为应用程序是用 Cordova 构建的,所以我使用了 cordova-plugin-customurlscheme。根据文档创建了一个android scheme = 'mycoolapp',配置了AndroidManifest等。一切正常。问题:当我制作 link
<a href="mycoolapp://"> Open my app </a>
并且用户点击它,应用程序打开没有问题。但是我需要一个没有用户参与的自动重定向。我这样试过:
mounted: function () {
window.open('mycoolapp://', '_system')}
在此处以弹出窗口形式打开 window 并要求用户确认打开。否则阻塞。很明显,浏览器将其视为垃圾邮件。你能建议其他选择吗?或者我做错了什么?
首先,不要在新的 window 中打开,这样至少不需要询问打开 window。你可以简单地
window.location.href = "mycoolapp://"
不确定您是否遇到其他对话框,我想您可能也看到了 "open link in the app?" 类型的对话框,但我对那个对话框没有帮助。我认为这是强制性的?
可以保留标签,使用JS脚本模拟点击动作
<a id="my-cool-app" href="mycoolapp://"> Open my app </a>
mounted() {
document.getElementById('my-cool-app').click();
}