【问题标题】:Ionic InAppBrowser on Android doesn't navigate to custom Url SchemeAndroid 上的 Ionic InAppBrowser 无法导航到自定义 URL 方案
【发布时间】:2018-08-18 12:28:13
【问题描述】:

我有一个设置,我在插件 InAppBrowser 中打开一个带有目标“_blank”的 url。插件 Deeplinks 也已安装和配置。

const browser: InAppBrowserObject = this.iab.create(url, '_blank', <InAppBrowserOptions>{
    location: "no",
    toolbar: "no",
    footer: "no"
});

browser.on('loadstart').subscribe((event: InAppBrowserEvent) => {
    console.log(event);

    if (event.url.indexOf('wflwr://payment/success') > -1) {
        browser.close();
    }

    if (event.url.indexOf('wflwr://payment/cancel') > -1) {
        browser.close();
    }

    if (event.url.indexOf('wflwr://payment/error') > -1) {
        browser.close();
    }
});

我将其缩短以仅显示重要部分。打开的url是https://www.voan.ch/wfl/(在真正实现之前只是一个Mock)

预期的行为是,单击 url 上的每个链接时,应用程序内的浏览器实例应该关闭。这在 iOS 上按预期工作,但在 Android 上却不行。事件只是没有被触发。如果我将其中一个网址更改为例如&lt;a href="https://www.google.com"&gt;CANCEL&lt;/a&gt;,然后触发事件。

【问题讨论】:

  • 您找到解决问题的方法了吗?在某些情况下,如果我使用“loadstop”事件,它对我有用
  • 没有。似乎 InAppBrowser 不正确支持自定义 URL 方案。我们切换到普通的 https Url Scheme

标签: android cordova ionic3 inappbrowser


【解决方案1】:

最新的pr添加了对此的支持

要使用它,您需要两件事:

例如允许 whatsapp 自定义方案和 twitter

  • 使用您想要支持的自定义方案添加新的 config.xml 首选项: <preference name="AllowedSchemes" value="whatsapp,twitter" />`
  • 添加事件监听器customscheme: inAppBrowserRef.addEventListener('customscheme', function (event) { //do whatever you want here like: window.open(event.url, "_system"); });

【讨论】:

  • 我们切换到 https,所以我无法测试它。有人可以确认它是这样工作的,然后我会将其标记为正确答案。
  • 我尝试了您的建议,但没有任何反应。我的带有自定义 URL 架构的应用没有打开,也没有错误。
猜你喜欢
  • 1970-01-01
  • 2021-11-26
  • 2011-04-30
  • 2011-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-11
  • 2011-02-17
相关资源
最近更新 更多