是否可以从InAppBrowser中的PhoneGap应用程序启动网站并与之交换数据?我特别想做的是为表单的提交添加一个事件监听器,并将表单数据提供给运行InAppBrowser的应用程序。
此外,如果无法进行数据交换,那么显示从在线缓存到本地缓存的一系列HTML页面的最佳方式是什么,并对它们应用一些JavaScript处理,只是一个简单的iframe?
答案 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);
});