我正在使用cordova 2.5.0,我在使用InAppBrowser与我的应用程序通信新窗口时遇到问题。可以将使用InAppBrowser插件打开的页面中的信息发回我的cordova应用程序。
答案 0 :(得分:1)
这过去有点涉及(例如polling或custom 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 there 。
<a href="myscheme://message?text=hi+there">Test</a>
此功能不适用于Cordova 2.5(看来您至少需要3.1),但是由于8已经推出,因此无论如何升级都是个好主意。