-1
我有一个Cordova(6.5.0)应用程序,它运行良好,直到我使用iframe访问另一个页面。其他页面已经被下载并保存到一个文件夹中cordova.file.externalDataDirectory 的下载页面也使用cordova.js的页面看起来像这样加载iframe后科尔多瓦在插件上失败
<html>
<head>
<base href="file:///android_asset/www/" >
<script type="text/javascript" src="cordova.js"></script>
<title>Test page</title>
</head>
<body>
Test page
<script>
document.addEventListener('deviceready', function(){
console.log("ready");
}, false);
</script>
</body>
</html>
在iframe装载第2个消息将出现在后调试器
deviceready has not fired after 5 seconds.
cordova.js:1216 Channel not fired: onFileSystemPathsReady
从这一点上主机应用程序不能调用任何插件。 但是,如果我从iframe页面中删除cordova.js链接,则主机应用程序不受影响。我需要iframe页面才能访问cordova功能,如何在不为主机创建问题的情况下执行此操作?
编辑: 通过从iframe更改为inAppBrowser,问题被隔离到子页面。也就是说,主机中没有更多的错误,但子页面仍像以前那样显示错误。