@Kinjal的回答确实帮助我步入正轨,但是我不得不在时间安排上解决很多问题。
我使用Cordova设备就绪事件来读取我的应用程序的数据文件,一些JSON数据包会驱动界面构建,默认情况下会加载到www文件夹中,但是最终可能会从服务器下载以升级应用程序数据库。
我发现了很多问题,因为应用程序数据结构在开始路由之前没有足够的时间来初始化。
我想到了这个解决方案:首先初始化jQuery,在jQuery初始化结束时调用Cordova的事件处理程序,在Cordova初始化的最后一个处理结束时调用应用程序启动例程。
这一切的噩梦开始了,因为我需要一种方法来读取Hogan.js的模板文件,而无法通过文件协议和简单的XHR来读取它们。
像这样:
$(document).ready(function () {
...
window.isphone = false;
if (document.URL.indexOf('http://') === -1 && document.URL.indexOf('https://') === -1) {
window.isphone = true;
}
if (window.isphone) {
document.addEventListener('deviceready', onDeviceReady, false);
} else {
onDeviceReady();
}
});
function onDeviceReady() {
function readFromFile(fileName, cb) {
}
...
readFromFile(cordova.file.applicationDirectory + 'www/views/tappa.html', function (data) {
app.views.lastview = data;
app.start();
});
}