我使用的是cordova 2.5.0,但在使用InAppBrowser 与我的应用程序通信新窗口时遇到问题。可以将使用 InAppBrowser 插件打开的页面中的信息发送回我的 cordova 应用程序。
问问题
560 次
1 回答
1
这曾经有点涉及(如轮询或自定义 urls),但由于 inAppBrowser 3.0.0您可以使用AllowedSchemes
该customscheme
事件。这尚未记录,但可以按如下方式使用。
到你的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 回答