问题很简单,只要我在我的Cordova应用程序的HTML中加<iframe>
,我就无法使用cordova API。 deviceready事件从未被解雇过。如果我尝试使用API方法,例如在外部浏览器中打开URL的inappbrowser,我在控制台中收到以下异常:
Java exception was raised during method invocation
答案 0 :(得分:2)
我不确定核心问题是什么,我做了一些搜索,也许Cordova无法在Android上同时处理多个同时的api管道(来自主页面和iframe)。有人可能会更好地解释或找到实际问题。
帮助我的是从HTML中删除<iframe>
并使用脚本添加它(在加载cordova.js并触发deviceready之后)并使用简单的jQuery调用:
$('body').append('<iframe id="framed" style="border: none;" src="..."></iframe>');
这使得例外不再出现,并且所有cordova API调用和事件再次起作用。
希望它有所帮助。