从InAppBrowser返回变量

时间:2013-04-15 10:28:56

标签: javascript jquery html5 cordova

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

1 个答案:

答案 0 :(得分:1)

这过去有点涉及(例如pollingcustom 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 there

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

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