我使用cordova和nanohttpd创建了一些Android Web应用程序。主页面从nanohttp加载localhost url。主页面包含一个iFrame,它从主页面(localhost)加载来自同一域的一些页面。
以下代码是从iFrame中调用的:
document.addEventListener("deviceready", function(){
cordova.exec(function(response) {
self.doSomething(response);
},function(error) {
alert(JSON.stringify(error));
},"thePlugin","showMap", param);}, false);
现在这是我的问题:来自iframe的cordova.exec能够调用Java插件并显示地图。但它无法找到javascript回调函数。是否可以在iFrame中触发回调函数?如果可能,怎么样?
答案 0 :(得分:3)
是的,很有可能。
您的问题是由主窗口和iframe窗口之间的冲突引起的。
请参阅此链接: https://github.com/phonegap/phonegap/wiki/iFrame-Usage
我已经使用cordova插件联系android成功实现了这个。
为了实现这一目标,您需要执行以下操作:
<强> your_web_view 强> .loadUrl(&#34;的javascript:的函数名(适用的 parameter_result_from_cordova 强>)&#34);
这应该有效。如果您发现任何问题,请告诉我。