2012-11-25 14 views
10
  • utilizzando PhoenGap 2.2.0
  • Eseguito \ bin \ creare C: \ Temp \ Test com .test prova
  • Aveva seguente output

Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved.TypeError Uncaught: Object # <Object> non ha un metodo 'exec' al di file: ///android_asset/www/index.html

Creating new android project... 
Building jar and js files... 
Copying template files... 
Copying js, jar & config.xml files... 
Copying cordova command tools... 
Updating AndroidManifest.xml and Main Activity... 
  • importato Progetto
  • 012.351.
    • su Eclipse (4.2.0) ha fatto
    • File> Nuovo> Progetto> Android> Android Project dal codice esistente
    • selezionato la cartella C: \ Temp \ Test
    • Controllato "Copia progetto nello spazio di lavoro"
  • Fare cambia
    • Controllato res \ xml \ config.xml e la linea <plugin name="Notification" value="org.apache.cordova.Notification"/> è presente
    • Controllato tale indice. html ha il cordova-2.2.0.js incluso
    • Caso # 1 Aperto index.html e modificato dal

<script type="text/javascript"> app.initialize(); </script>

a

<script type="text/javascript"> 
function showAlert(msg){ 
navigator.notification.alert(msg); 
} 
document.addEventListener("deviceready", showAlert('You are the winner!'), false); 
app.initialize(); 
</script> 

ottengo seguente errore 11-25 10:29:58.399: E/Web Console(14604): Uncaught TypeError: Cannot call method 'alert' of undefined at file:///android_asset/www/index.html:40

    • Caso n. 2 Indice aperto.html e modificato dal

<script type="text/javascript"> app.initialize(); </script>

a

<script type="text/javascript"> 
function successAlert(){} 
function errorAlert(){} 
function showAlert(msg){ 
cordova.exec(successAlert, errorAlert, "Notification","alert", [msg]); 
} 
document.addEventListener("deviceready", showAlert('You are the winner!'), false); 
app.initialize(); 
</script> 

ottengo l'errore 11-25 10:25:06.575: E/Web Console(14149): Uncaught TypeError: Object #<Object> has no method 'exec' at file:///android_asset/www/index.html:42 }

Sono sicuro che ho perso qualcosa ... dopo solo che non sono in grado di concludere cos'è. Per favore aiutatemi.

+0

Solo una cronaca: sto affrontando questi problemi sul dispositivo sotto tensione quando dispiegato usando USB. Non ho provato nient'altro. Sistema operativo Android: 4.2 – javadevg

+0

Ho l'errore - Errore tipo Errore: l'oggetto # non ha alcun metodo 'exec' - e non può trovare alcuna soluzione. Ho incluso "cordova-2.2.0.js" nel mio "index.html" e chiamando "nfc.addNdefListener (callback, [successo], [errore]);" implementato in "phonegap-nfc.js". In c'è il "cordova.exec();" metodo chiamato. Sto usando cordova 2.2.0 e il plugin phonegap-nfc https://github.com/chariotsolutions/phonegap-nfc. Ma non funziona da nessuna parte anche se sto chiamando il metodo exec direttamente in index.html. – Yves

risposta

11

Ciò richiederà showAlert immediatamente, invece di ritardare a quando l'evento:

document.addEventListener("deviceready", showAlert('You are the winner!'), false) 

Invece fanno

document.addEventListener("deviceready", function() { 
    showAlert('You are the winner!') 
}, false) 
+0

Grazie per la soluzione. – javadevg

+0

Grazie! Funziona bene. – Hogun

Problemi correlati