我正在構建PhoneGap應用程序。不幸的是,當部署到iOS設備和模擬器時,事件永遠不會觸發。我使用Phonegap 2.2.0。Phonegap設備無法在iOS中使用Cordova 2.2.0
當我將相同的代碼部署到Android(當然使用Android特定的cordova.js
文件),該應用程序將完美工作。
當我用jQuery- ready()
替換deviceready
時,該應用程序也將在iOS上加載,但它將無法訪問設備特定的API。
加載了cordova.js
,因爲我會看到一條簡單的警報消息,我將其放入其中,但deviceready
永遠不會觸發,並且API永遠不會暴露。
我HTMLS head
:
<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script> <!-- yes it is the iOS version -->
<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/app.js"></script>
我的JS:
function doStuff(){
//app functionality
}
document.addEventListener('deviceready', doStuff, false);
但不知何故東西只會被Android上做...
這似乎是問題的原因,謝謝。但說實話,我仍然有點困惑,因爲我不明白爲什麼我需要在另一個事件處理程序中嵌套事件處理程序。 'addEventListener'方法應該從開頭和'document'都可用,不是嗎?你有這種行爲的解釋嗎? – m90
你有一個身體onload =?第一次讓我絆倒了。我同意你的看法,如果雙事件處理程序設置是解決方案,那將會很奇怪。 – olore
不,我沒有第一個,因爲我沒有得到「邏輯」,當它「以某種方式」工作,但我繼續使用默認項目設置使用的方法,看到我的答案下面。 – m90