2016-09-15 1 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> 

이 deviceready 코드의 모든 날에 대한 불필요한 코드처럼 보이는 비록이 .html 파일이 스크립트 태그가 있습니다. 사람이 응용 프로그램은 먼저 Cordova API's, cordova plugin etc.When를로드하는 응용 프로그램을 실행 important.When

+1

일반적으로 'deviceready'가 해고 된 후에 만 ​​기본 플러그인을 사용할 수 있습니다. http://cordova.apache.org/docs/ko/6.x/cordova/events/events.html#deviceready – daserge

답변

1

deviceready 이벤트 인이 'deviceready'이벤트가 필요한 이유를 나에게 설명하고 정확히 어떻게하면은 코르도바의 API와 연결하십시오 이로드가 완료되면 deviceready 이벤트가 발생합니다. 이것은 onload HTML 파일의 이벤트와 같습니다. 따라서 deviceready 이벤트 이후에 작품을해야합니다. cordova.js은 기본 플랫폼으로 cordova API를 초기화합니다. cordova.js은 애플리케이션을 빌드 할 때 자동으로 생성됩니다. <script src="cordova.js"></script>cordova.js 파일에 대한 참조입니다. deviceready 이벤트의 세부 정보는 여기 link에서 확인할 수 있습니다.