Patrioticcow Patrioticcow - 3 months ago 11
Javascript Question

deviceReady not working in PhoneGap application, how to?

I have a simple PhoneGap application as fallows:

<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap powered App</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/jquery.mobile-1.0.min.css" />
<script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/jquery.mobile-1.0.min.js"></script>


<script type="text/javascript" charset="utf-8">

document.addEventListener("deviceready", onDeviceReady, true);
function onDeviceReady() {
alert ('123');
}
</script>

</head>
<body onload="onDeviceReady()">
<div data-role="page">

<div data-role="header">
<h1>title</h1>
</div><!-- /header -->

<div data-role="content">
<h2>Begin by inserting your credentials.</h2>
...
</div><!-- /content -->

</div><!-- /page -->

<script type="text/javascript" charset="utf-8">
$(document).ready(function () {

});
</script>
</body>
</html>


What happens here is that the alert
alert ('123');
never gets fired. But if I take out the other JavaScript code and leave only the alert it is fired.

Also if I use
$(document).ready(function () { alert ('123'); }
I get the alert.

What is happening here, why the
deviceready
is not getting fired?

Any ideas?

Answer

Try it this way :

 document.addEventListener("deviceready", function(){
      alert("123");
 },true);
Comments