我正在开发一个html5 cordova混合应用程序。我有3个html页面。我使用localStorage和SQLite插件。我在这些页面之间浏览。但是,当我从一个页面移动到另一个页面时,cordova功能就变得没有用了。
my login.html page:
Document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady() {
var db = window.sqlitePlugin.openDatabase({
name : "OZEGE",
bgType : 1
});
//some transactions
}
function Login(){
// my login authorization
}
和授权之后,我用这行代码移动另一个页面;
window.location = "experInfos.html";
experInfos.html:"
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady() {
document.getElementById("devamButonu").disabled = true;
var db = window.sqlitePlugin.openDatabase({
name : "OZEGE",
bgType : 1
});
//populate dropdown
populateMensei(db);
}
第二页打开时,控制台显示;
deviceready has not fired after 5 seconds. (01:40:11:905)
at www/cordova.js:1154
我无法填充下拉列表。它表明:
SQLitePlugin openargs: {"name":"OZEGE","bgType":1} (02:08:08:610)
at file:///android_asset/www/plugins/org.pgsqlite/www/SQLitePlugin.js:8
但是什么也没发生。为什么我不能在第二页使用设备就绪?因为config.xml ?
我改变了导航方式。我把所有的html文件放在一个页面上,我只是改变了视图的可见性。
我发现的其他东西,尝试添加一个sd卡到您的模拟器
我发现我最初的错误是文件插件不被允许访问文件空间,这是因为它不存在于模拟器中,我在模拟器定义中添加了一个外部卡,他们很快就工作了
我设法通过将我所有的样式表连接到一个文件来获得导航工作,所以我猜这与加载时间或文件请求的数量等有关,你正在导航到的页面。@amenthes我希望这对你也有用。