我正在创建一个Cordova / Phonegap应用程序,我偶尔和随机地得到这个问题
"deviceready not fired after 5 seconds.
Channel not fired: onFileSystemPathsReady"
我的Cordova应用程序是一个多页面应用程序(不是SPA)。
我正在使用Cordova 5.4.1 (Android Build 4.1.1 )
我正在使用版本 4.3.0 的文件插件。 (还尝试过插件版本3.0和4.2.0)
问题主要出现在 Android版本6.0.1 的设备中。
我正在使用 Android studio 2.1.1 与 Java 1.8.0_101 (之前使用的是2.2和2.3)
我保持 Gradle Instant Run 。
当我从一个页面移动到另一个页面时,即当我打电话给 window.location.href
时,问题就出现了。我的代码:
/* It's working fine on the index.html page */
/* Index.html demo page (actual page has many css and js files) */
<!doctype html>
<html>
<head>
<script type="text/javascript" src="cordova.js"></script>
<script src="js/core/pages/index.js"></script>
</head>
<body onload="startExecution()">
</body>
</html>
/* index.js page */
var d1 = $.Deferred();
var d2 = $.Deferred();
document.addEventListener('deviceready', deviceReady, false);
function deviceReady() {
if (navigator) {
if (navigator.splashscreen) {
navigator.splashscreen.hide();
}
}
// after some processing or API hit
window.location.href = "page1.html";
}
function startExecution() {
d2.resolve();
}
$.when(d1, d2).done(function () {
console.log('Both resolved');
window.location.href = "page2.html";
});
当我转到page1.html时出现问题
在page1上我也附上了像cordova.js这样的必要文件。
但偶尔我会得到上述错误:
&#34;设备在5秒后没有被解雇。
频道未被触发:onFileSystemPathsReady&#34;
它曾经正常工作,但不知何故突然我开始得到这个错误。我不明白为什么,请帮帮我。