2

我使用的是cordova 2.5.0,但在使用InAppBrowser 与我的应用程序通信新窗口时遇到问题。可以将使用 InAppBrowser 插件打开的页面中的信息发送回我的 cordova 应用程序。

4

1 回答 1

1

这曾经有点涉及(如轮询自定义 urls),但由于 inAppBrowser 3.0.0您可以使用AllowedSchemescustomscheme事件。这尚未记录,但可以按如下方式使用。

到你的config.xml,添加

<preference name="AllowedSchemes" value="myscheme" />

在您的 Cordova 应用程序中使用以下代码:

function onCustomScheme(e) {
  if (e.url.match(/^myscheme:\/\/message\b/)) {
     var q = parseQueryString(e.url);
     console.log("Got foo message: " + q.text);
  }
}

url = "https://my.example.com/";
app = cordova.InAppBrowser.open(url, "_blank");
app.addEventListener("customscheme", onCustomScheme, false);

然后从在 inAppBrowser 中打开的网站中,您可以嵌入这样的链接,如果您关注它,它会在控制台中显示消息hi 。

<a href="myscheme://message?text=hi+there">Test</a>

这不适用于 Cordova 2.5(看起来您至少需要 3.1),但由于 8 现已推出,无论如何升级可能是个好主意。

于 2018-06-28T10:15:24.953 回答