Cordova 无法从 InAppBrowser 调用自定义 URL 方案到同一应用程序
Posted
技术标签:
【中文标题】Cordova 无法从 InAppBrowser 调用自定义 URL 方案到同一应用程序【英文标题】:Cordova Unable to Invoke Custom URL Scheme to Same Application from InAppBrowser 【发布时间】:2018-02-02 18:45:04 【问题描述】:我有一个 ionic 3 应用程序,它有一个在 inappbrowser 中打开的 webview (cordova-inapp-browser),并且这个 webview 的网页有一个带有自定义 URL 方案的链接(例如:myapp1://),它应该调用应用程序主页再次返回(因此它退出应用程序浏览器)。它适用于 android,但不适用于 ios。
使用的 inappbrowser cordova 插件是: https://github.com/ljcljc/cordova-plugin-inappbrowser https://github.com/Onegini/cordova-plugin-inappbrowser
这是 Info.plist 文件:
知道控制台似乎没有显示错误,您是否认为我缺少一些配置。
【问题讨论】:
您能否分享您为打开 URL 而进行的具体调用? @johnborges, this.inappbrowser.create(url, '_blank', options) options= location:'no', clearcache:'yes', clearsessioncache:'yes', toolbar:'no ', zoom:'no' url 是包含具有自定义 url 方案的链接的页面。 你能解决这个问题吗?我无法在 iOS 上启用 URL Scheme!请帮忙 【参考方案1】:要打开外部应用程序,您必须使用'_system'
而不是'_blank'
。
再次阅读您的问题,您想调用同一个应用程序,对吧?
问题是,如果您在同一个应用程序中,则 url 方案不会像您想象的那样工作,该应用程序已经打开,因此使用 url 方案不会再次打开它,因为它已经打开了。
如果你想关闭 InAppBrowser,你可以做 2 件事:
-
在 url 方案 url 上监听
loadstart
使用 handleOpenURL(url)
函数关闭 InAppBrowser,因为这是在调用 url 方案时调用的函数。
【讨论】:
请问如何使用handleOpenURL(url)????没有像这样的事件……你能写一个小例子吗???以上是关于Cordova 无法从 InAppBrowser 调用自定义 URL 方案到同一应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Cordova/PhoneGap 打开下载的文件 (InAppBrowser)
位置栏未出现在 InAppBrowser for iOS、Cordova 中
Cordova inAppBrowser 如何隐藏 URL 并仅显示完成按钮