解決策を探しましたが、問題の解決策が見つかりませんでした。私はcordovaとjquerymobileを使用しています。イベントが発生します:document.readyとcordovaのデバイス準備完了。メインアプリケーションをいつ起動するかを知るために、ブール値をチェックしてロード状態をチェックしたいと思います。
だから私のコードを見てください:
最初:最初にロードされたjs-ファイル:
function checkReadyStates() {
if(domReady && cordovaReady) {
timer.stop();
start();
}
}
var domReady = false;
var cordovaReady = true;
var timer = new TimerModel({interval : 50, method : checkReadyStates});
timer.start();
// get notified when DOM is loaded
$(document).ready(function() {
ConsoleController.info('Document ready.');
domReady = true;
});
// get notified when cordova is ready
document.addEventListener('deviceready', function() {
ConsoleController.info('Cordova loaded.');
cordovaReady = true;
}, false);
2番目:TimerModel:
define(['backbone'],function(Backbone) {
var model = Backbone.Model.extend({
defaults: {
timerObject : null,
active : false,
interval : 1000,
method : null,
},
// init timer
initialize : function() {
_.bindAll(this, 'start', 'stop'); // context bindings
},
// starts the timer with given interval
start : function() {
if(!this.active) {
this.active = true;
this.timerObject = setInterval(this.method, this.interval);
}
},
// stops timer
stop : function() {
this.active = false;
clearInterval(this.timerObject);
}
});
// return the timer model
return model;
});
誰かが助けてくれることを願っています。ありがとう!