2013-06-14 13 views
6

मैं फोनगैप का उपयोग कर रहा हूं, मैं बैकबटन onDeviceReady फ़ंक्शन पंजीकृत कर रहा हूं लेकिन डिवाइस के बैक बटन पर क्लिक करते समय फ़ंक्शन को कॉल किया जा रहा है। और मैंफोनगैप में बैकबटन पंजीकृत नहीं हो रहा है और ठीक से काम नहीं कर रहा है

<script src="lib/cordova-2.6.0.js"></script> 

document.addEventListener("backbutton", onBackClickEvent, false); 

function onBackClickEvent() { 
    alert("back onBackClickEvent");  
} 

यह onBackClickEvent() समारोह नहीं कहा जा रहा है को शामिल किया है, मैं कभी नहीं देखा है कि चेतावनी को poped। मुझे Uncaught ReferenceError की त्रुटि भी मिल रही है: कॉर्डोवा को परिभाषित नहीं किया गया है

त्रुटि क्या हो सकती है कृपया मुझे सुझाव दें। अग्रिम में धन्यवाद।

+0

जांच नीचे जवाब मेरे देखें। – Maulik

उत्तर

4

मैं अपने सवाल का जवाब मिल गया है की कोशिश करो। मैं संघर्ष कर रहा था और कई डेवलपर्स इसे हल करने की कोशिश करते हैं और जब मुझे मूर्खतापूर्ण गलती मिली तो मुझे खुद को इतनी मूर्खता मिली।

मैं

document.addEventListener("deviceready", onDeviceReady, false); 

Thats क्यों मैं एक त्रुटि कॉर्डोबा हो रही है के बजाय

document.addEventListener("deviceready", onDeviceReady(), false); 

लिख रहा था परिभाषित नहीं है और कोई अन्य श्रोताओं पंजीकृत हो रहे हैं।

3

वापस बटन के लिए मैं इस

//Android back button handler methods 
$(document).ready(function() 
{ 
document.addEventListener("deviceready", setOverrideBackbutton, false); 
}); 

/** 
* Allow override of the back button on Android platforms 
*/ 
function setOverrideBackbutton() 
{ 
if (typeof device != "undefined" && device.platform == "Android") 
{ 
    navigator.app.overrideBackbutton(true); 
} 
document.addEventListener("backbutton", backButtonTap, true); 
} 

/** 
* Callback after a backbutton tap on Android and windows platforms. 
* Do nothing. 
*/ 
function backButtonTap() 
{ 
//Do not remove 
} 
+0

यह काम नहीं किया। कॉर्डोवा 3.7 – Kvk

1

कृपया जांच करें कि आपका cordova.js के लिए पथ और फ़ाइल नाम सही है का उपयोग करें। सुनिश्चित करें कि आपने प्रोजेक्ट प्रॉपर्टी में सही cordova.jar फ़ाइल और एंड्रॉइड निजी libs की जांच की है-> जावा बिल्ड पथ-> ऑर्डर & निर्यात।

के लिए अधिक इस link

जाँच जानकारी है और यदि आप एक से अधिक फ़ाइलों को आयात तो other.js फ़ाइल से पहले cordova.js फ़ाइल रख दिया और यह काम करना चाहिए

और बस

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

के बजाय

का उपयोग करें और यह भी जाँच इस link1 & link2

5

मत भूलना "deviceready" घटना कॉल करने के लिए।

phonegap डॉक से

:

This is a very important event that every Cordova application should use.

Cordova consists of two code bases: native and JavaScript. While the native code is loading, a custom loading image is displayed. However, JavaScript is only loaded once the DOM loads. This means your web application could, potentially, call a Cordova JavaScript function before it is loaded.

The Cordova deviceready event fires once Cordova has fully loaded. After the device has fired, you can safely make calls to Cordova function.

इस

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady() 
{ 
    document.addEventListener("backbutton", onBackClickEvent, false); 
} 

function onBackClickEvent() 
{ 
    alert("back onBackClickEvent");  
} 
4

मुझे कॉर्डोवा 3.1 में अपग्रेड करने के बाद इस बग का सामना करना पड़ा। यह पता चला है कि इसे config.xml फोनगैप 3. * बाद में स्पष्ट रूप से जोड़ा जाना है।

<feature name="App"> 
     <param name="android-package" value="org.apache.cordova.App" /> 
    </feature> 

इस link

+0

2.9 का उपयोग करना और यह फिक्स मेरे लिए भी काम करता है। –

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