2013-05-21 15 views
6

मैं वर्तमान में अपने प्रोजेक्ट पर फोनगैप 2.7.0 का उपयोग कर रहा हूं और कोड आईओएस पर त्रुटि के बिना चलता है। जब मैं एंड्रॉइड पर एक ही कोड चलाने की कोशिश करता हूं (कॉर्डोवा जावास्क्रिप्ट फ़ाइल के अपवाद के साथ, जो मैं पता Android के लिए अलग है) मैं इस त्रुटि हो रही है:कॉर्डोवा एंड्रॉइड अनकॉट फ़ंक्शन त्रुटि

05-21 22:02:25.630 1663-1663/com.###.### D/Cordova: onPageFinished(file:///android_asset/www/index.html) 
05-21 22:02:25.640 1663-1663/com.###.### D/CordovaLog: Uncaught Function required as first argument! 
05-21 22:02:25.640 1663-1663/com.###.### E/Web Console: Uncaught Function required as first argument! at file:///android_asset/www/cordova-2.7.0.js:627 

यहाँ जावास्क्रिप्ट मैं index.html में उपयोग कर रहा हूँ है:

<script type="text/javascript"> 
var app; 
document.addEventListener("deviceready", function() 
{ 
    app = new AppWrapper(); 
}, false); 
</script> 

मुझे यकीन है कि क्या मुद्दा है नहीं कर रहा हूँ। मुझे पहले यह मुद्दा था लेकिन उसने अपने आप को अतीत में (काला जादू?) हल कर लिया है। किसी भी मदद की सराहना की जाएगी।

उत्तर

14

इस समस्या को डीबग करने के लिए रिपल को नियोजित करने के बाद (अत्यधिक अनुशंसित), मुझे एक ईवेंट श्रोता (इसलिए, डिवाइस से पहले कॉल के लिए विशिष्ट नहीं) पर एक अपरिभाषित फ़ंक्शन पर एक पॉइंटर मिला।

भविष्य के डेवलपर्स के लिए: यह सुनिश्चित करने के लिए जांचें कि आपके "addEventListener" कॉल के सभी मौजूदा कार्यों को इंगित कर रहे हैं। स्पष्ट लगता है, लेकिन ऐसा होता है।

4

जांचें कि आपने अपने कोड में कॉलबैक फ़ंक्शन का सही संदर्भ निर्दिष्ट किया है या नहीं।

सुनिश्चित करें कि आप कॉलबैक फ़ंक्शन में "यह" का उपयोग नहीं करते हैं। उदाहरण के लिए,

var app = { 
    init : function() { 
     document.addEventListener("deviceready", this.deviceready, false); 
    }, 

    deviceready : function() { 
     app.appWrapper = this.createAppWrapper();//watch out who is "this", you should use "app" but not "this" 
    }, 

    createAppWrapper : function() { 
     return new AppWrapper(); 
    } 
}; 

app.init(); 
+0

मुझे एक ही समस्या थी और इसकी सराहना की गई। धन्यवाद! – digaomatias

संबंधित मुद्दे