Javascript iFrame内的cordova回调
我使用cordova和nanohttpd创建了一些Android web应用程序。主页是使用本地主机url从nanohttp加载的。主页包含一个iFrame,它从与主页相同的域(localhost)加载一些页面 下面的代码是从iFrame调用的:Javascript iFrame内的cordova回调,javascript,android,cordova,iframe,Javascript,Android,Cordova,Iframe,我使用cordova和nanohttpd创建了一些Android web应用程序。主页是使用本地主机url从nanohttp加载的。主页包含一个iFrame,它从与主页相同的域(localhost)加载一些页面 下面的代码是从iFrame调用的: document.addEventListener("deviceready", function(){ cordova.exec(function(response) { self.doSomething
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中启动回调函数?如果可能,怎么做?是的,很有可能 您的问题是由主窗口和iframe窗口之间的冲突引起的 请参阅此链接: 我已经使用cordova插件成功地实现了这一点,请联系android 要使之成为可能,您需要执行以下操作:
这应该行得通。如果您发现任何问题,请告诉我。谢谢!让我试试这个。更新:这在大多数情况下都有效。但是有一种可能性,有时是四分之一,Cordova回调没有执行。对,它有时仍然调用错误的接收方上下文。我已经更新了答案。关键是我们需要在cordova插件端做一些修改,在得到结果后直接调用javascript函数。我已经实现了它,它应该像一个符咒一样工作。啊,是的!将结果直接注入javascript非常有效。非常感谢!