2012-11-25 10 views
10
  • korzystając PhoenGap 2.2.0
  • Wykonane \ bin \ utworzyć C: \ Temp \ Test com .test test
  • Gdyby następujące wyjście

Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved.Uncaught TypeError: Object # <Object> ma metodę 'exec' w pliku: ///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... 
  • Sprowadzone Projekt
    • Eclipse (4.2.0) nie
    • Plik> Nowy> Projekt> Android> Project Android z przepisami kodeksu
    • Wybrany folder C: \ Temp \ Test
    • sprawdzone "Kopiuj projekt w przestrzeni roboczej"
  • Making zmienia
    • sprawdzone res \ xml \ config.xml i linia <plugin name="Notification" value="org.apache.cordova.Notification"/> występuje
    • Sprawdzone że indeksie. html ma cordova-2.2.0.js włączone
    • Case # 1 Otwarty index.html i modyfikowany

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

do

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

dostaję następujący błąd 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

    • Przypadek nr 2 Otwarty indeks.html i modyfikowany

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

do

<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> 

dostaję następujący błąd 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 }

Jestem pewien, że brakowało mi coś ... po prostu że nie jestem w stanie wywnioskować, co to jest. Proszę pomóż mi.

+0

Po prostu FYI: Ja widokiem tych problemów na urządzeniu żywo po wdrożeniu za pomocą USB. Nie próbowałem niczego innego. System operacyjny Android: 4.2 – javadevg

+0

Mam błąd - Nieprzeniknięty TypeError: Obiekt # nie ma również metody "exec" i nie może znaleźć rozwiązania. Do mojego "index.html" włączyłem "cordova-2.2.0.js" i wywołuję "nfc.addNdefListener (callback, [success], [error]);" zaimplementowane w "phonegap-nfc.js". Tam jest "cordova.exec();" metoda nazwana. Używam cordova 2.2.0 i wtyczki phonegap-nfc https://github.com/chariotsolutions/phonegap-nfc. Ale nigdzie nie działa, nawet jeśli wywołuję metodę exec bezpośrednio w index.html. – Yves

Odpowiedz

11

Wywoła to showAlert natychmiast, zamiast opóźniania się, gdy Zdarzenie:

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

Zamiast to zrobić

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

Dzięki za rozwiązanie. – javadevg

+0

Dziękujemy! Działa dobrze. – Hogun

Powiązane problemy