2016-09-15 2 views
0

Я учусь создавать приложения в Cordova PhoneGap, и я смущен использованием этого события 'deviceready'. Предполагается, что это событие специфично для 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;'); 
    } 
}; 

Существует этот скрипт тегов в файле .html, хотя

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

Все это deviceready код просто выглядит как код ненужным для меня. Пожалуйста, кто-нибудь объяснить мне, почему это «deviceready» событие необходимо, и как именно это связано с API Кордова

+1

В общем, вы можете использовать родные плагины только после того, как 'deviceready'has уволен: http://cordova.apache.org/docs/en/6.x/cordova/events/events.html#deviceready – daserge

ответ

1

deviceready событие important.When запустить приложение приложение первый нагружает Cordova API's, cordova plugin etc.When эта загрузка завершена, она запустит deviceready event.It как onload событие HTML-файла. Итак, вы должны делать свои работы после или после deviceready event.And cordova.js инициализировать API кордовы с собственной платформой. cordova.js будет автоматически генерироваться при создании вашего приложения. <script src="cordova.js"></script> является ссылкой на то, что cordova.js file.You можете получить подробную информацию о deviceready мероприятие здесь link.

Смежные вопросы