allstrives
allstrives

Reputation: 634

Uncaught TypeError: Object #<Object> has no method 'exec' at file:///android_asset/www/index.html

Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved.

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

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

to

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

I get following error 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

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

to

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

I get following error 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 }

I'm sure that I missed something...just that I'm not able to conclude what is it. Please help me out.

Upvotes: 10

Views: 12894

Answers (1)

AndiDog
AndiDog

Reputation: 70208

This will call showAlert immediately, instead of delaying to when the event fires:

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

Instead do this

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

Upvotes: 11

Related Questions