2016-09-15 14 views
0

私はCordova PhoneGapでアプリケーションを作成することを学んでおり、この'deviceready'イベントの使用によって混乱します。これはCordova API固有のイベントですが、Hello Worldの例では、それに関するすべてがindex.jsファイルで定義されています。Cordova 'deviceready'イベントの仕組みについての説明が必要

var app = { 
    // Application Constructor 
    initialize: function() { 
     this.bindEvents(); 
    }, // Bind Event Listeners 
    // 
    // Bind any events that are required on startup. Common events are: 
    // 'load', 'deviceready', 'offline', and 'online'. 
    bindEvents: function() { 
     document.addEventListener('deviceready', this.onDeviceReady, false); 
    }, // deviceready Event Handler 
    // 
    // The scope of 'this' is the event. In order to call the 'receivedEvent' 
    // function, we must explicitly call 'app.receivedEvent(...);' 
    onDeviceReady: function() { 
     app.receivedEvent('deviceready'); 
    }, // Update DOM on a Received Event 
    receivedEvent: function (id) { 
     var parentElement = document.getElementById(id); 
     var listeningElement = parentElement.querySelector('.listening'); 
     var receivedElement = parentElement.querySelector('.received'); 
     listeningElement.setAttribute('style', 'display:none;'); 
     receivedElement.setAttribute('style', 'display:block;'); 
    } 
}; 

<script src="cordova.js"></script> 

かかわらの.htmlファイルにこのスクリプトタグは、このdevicereadyコードのすべてがちょうど私には不必要なコードのように見えるがあります。 誰かがこの「deviceready」イベントが必要な理由を私に説明し、どのように正確に、あなたがアプリケーションが最初Cordova API'scordova plugin etc.Whenをロードするアプリケーションを実行important.When

+1

一般に、あなたは 'deviceready'が解雇された後にのみネイティブプラグインを使うことができます:http://cordova.apache.org/docs/en/6.x/cordova/events/events.html#deviceready – daserge

答えて

1

devicereadyイベントがあるコルドバのAPIに接続されてください。この装填は完了するとdevicereadyイベントを発射する。これはHTMLファイルのonloadイベントのようなものである。だから、あなたはdevicereadyイベントのあとに、またはcordova.jsの作品をやってください。ネイティブプラットフォームでcordova APIを初期化してください。 cordova.jsは、アプリケーションをビルドすると自動的に生成されます。 <script src="cordova.js"></script>はそのファイルcordova.jsへの参照です。devicereadyイベントの詳細はこちらlink

関連する問題