PhoneGap InAppBrowser数据交换

时间:2014-10-15 13:25:36

标签: cordova inappbrowser

是否可以从InAppBrowser中的PhoneGap应用程序启动网站并与之交换数据?我特别想做的是为表单的提交添加一个事件监听器,并将表单数据提供给运行InAppBrowser的应用程序。

此外,如果无法进行数据交换,那么显示从在线缓存到本地缓存的一系列HTML页面的最佳方式是什么,并对它们应用一些JavaScript处理,只是一个简单的iframe?

1 个答案:

答案 0 :(得分:1)

您可以阅读在InAppBrowser中打开的页面的URL。在您的情况下,如果您有一个带有方法GET的表单,您将在提交后将所有详细信息放在URL中。

例如:

<form type="submit" method="GET">
   <input type="text" name="foo" />
   <input type="submit" value="Submit" />
</form>

然后,如果你输入一些值,比如说“bar”并点击“提交”,你就会得到:

<your_url_path_to_file>?foo=bar

最后,您将能够在JavaScript中阅读它:

var authWindow = window.open('<your_url_path_to_file>', '_blank', 'location=no,toolbar=no');

authWindow.addEventListener('loadstart', function(event) {
   var url = event.url;
   var foo = /\?foo=(.+)$/.exec(url);
});