Thanks guys. How do I add a cordova project into the issue? I signed up but I don't see how to add that...
On Thu, Aug 14, 2014 at 8:09 AM, Carlos Santana <csantan...@gmail.com> wrote: > Leonard open a JIRA [1] item, with a simple cordova project to recreate > problem. > > Maybe with more details someone can take a look and help. > > [1]: https://issues.apache.org/jira/browse/CB > > > > On Thu, Aug 14, 2014 at 10:09 AM, Andrew Grieve <agri...@chromium.org> > wrote: > > > Hmm, good point. I have no guesses now :( > > > > > > On Wed, Aug 13, 2014 at 10:25 PM, Terence M. Bandoian <tere...@tmbsw.com > > > > wrote: > > > > > Right. The docs also include the following: > > > > > > "The deviceready event behaves somewhat differently from others. Any > > event > > > handler registered after the deviceready event fires has its callback > > > function called immediately." > > > > > > -Terence > > > > > > > > > > > > On 8/13/2014 8:29 PM, Joe Bowser wrote: > > > > > >> When subscribing to the events, it should actually run right away if > the > > >> event was already fired. This is definitely a regression in > cordova.js, > > or > > >> a design change I didn't catch. Both are possible. > > >> On Aug 13, 2014 5:59 PM, "Terence M. Bandoian" <tere...@tmbsw.com> > > wrote: > > >> > > >> Same on http://cordova.apache.org/docs/en/3.5.0/cordova_events_ > > >>> events.md.html#deviceready. > > >>> > > >>> -Terence > > >>> > > >>> > > >>> On 8/13/2014 7:51 PM, Terence M. Bandoian wrote: > > >>> > > >>> From the phonegap 3.5.0 docs: > > >>>> > > >>>> <!DOCTYPE html> > > >>>> <html> > > >>>> <head> > > >>>> <title>Device Ready Example</title> > > >>>> > > >>>> <script type="text/javascript" charset="utf-8" > > >>>> src="cordova.js"></script> > > >>>> <script type="text/javascript" charset="utf-8"> > > >>>> > > >>>> // Wait for device API libraries to load > > >>>> // > > >>>> function onLoad() { > > >>>> document.addEventListener("deviceready", onDeviceReady, > > >>>> false); > > >>>> } > > >>>> > > >>>> // device APIs are available > > >>>> // > > >>>> function onDeviceReady() { > > >>>> // Now safe to use device APIs > > >>>> } > > >>>> > > >>>> </script> > > >>>> </head> > > >>>> <body onload="onLoad()"> > > >>>> </body> > > >>>> </html> > > >>>> > > >>>> -Terence > > >>>> > > >>>> > > >>>> On 8/13/2014 3:52 PM, Carlos Santana wrote: > > >>>> > > >>>> Like Andrew mentioned too late to add the listener. > > >>>>> > > >>>>> Where are you putting your cordova.js? If you are loading it from > > >>>>> <head> > > >>>>> then device ready is firing before you attach. > > >>>>> > > >>>>> To be on the super safe side attach the listener before you load > > >>>>> cordova.js in body, to be on the safe side. > > >>>>> > > >>>>> > > >>>>> > > >>>>> On Wed, Aug 13, 2014 at 2:40 PM, Andrew Grieve < > agri...@chromium.org > > > > > >>>>> wrote: > > >>>>> > > >>>>> My guess: Don't wait until onload to register your deviceready > > >>>>> listener. > > >>>>> > > >>>>>> > > >>>>>> On Wed, Aug 13, 2014 at 1:43 PM, Leonardo Martínez < > > >>>>>> leolib2...@gmail.com> > > >>>>>> wrote: > > >>>>>> > > >>>>>> Hi, > > >>>>>> > > >>>>>>> I am new here and I got into this mailing list because of this > > >>>>>>> strange > > >>>>>>> behaviour. > > >>>>>>> > > >>>>>>> The thing is that sometimes the ondeviceready event is not > > triggerred > > >>>>>>> and > > >>>>>>> sometimes it is. I could say like the first time the windows is > > >>>>>>> opened > > >>>>>>> (window.open("...") ) it is not triggered but going back (to > > another > > >>>>>>> window) and in again it's triggered. > > >>>>>>> > > >>>>>>> I have this in the HTML: > > >>>>>>> > > >>>>>>> <body onload="onLoad()"> > > >>>>>>> <div id="mainDiv"> > > >>>>>>> <div id="deviceready" class="blink"> > > >>>>>>> <p class="event listening">Connecting to > > Device</p> > > >>>>>>> <p class="event received">Device is Ready</p> > > >>>>>>> </div> > > >>>>>>> > > >>>>>>> .... > > >>>>>>> </body> > > >>>>>>> > > >>>>>>> And this function in JS: > > >>>>>>> > > >>>>>>> function onLoad() { > > >>>>>>> document.addEventListener("deviceready", onDeviceReady, false); > > >>>>>>> alert("I was set"); > > >>>>>>> } > > >>>>>>> > > >>>>>>> function onDeviceReady() { > > >>>>>>> alert("Hi"); > > >>>>>>> } > > >>>>>>> > > >>>>>>> > > >>>>>>> I am working with Cordova 3.5.0-0.2.4 and this is happening in > iOS. > > >>>>>>> Not > > >>>>>>> > > >>>>>>> on > > >>>>>> > > >>>>>> Android with the same code. > > >>>>>>> > > >>>>>>> Hope you can help me. Thanks! > > >>>>>>> > > >>>>>>> -- > > >>>>>>> Leonardo. > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>> > > > > > > > > > -- > Carlos Santana > <csantan...@gmail.com> > -- Leonardo.