cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse MacFadyen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-2166) The deviceReady event may not be received because of asynchronous JavaScript loading
Date Wed, 09 Jan 2013 03:26:14 GMT

    [ https://issues.apache.org/jira/browse/CB-2166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547591#comment-13547591
] 

Jesse MacFadyen commented on CB-2166:
-------------------------------------

This is NOT possible, as calls to document.addEventListener("deviceready") will simply disappear.
Without having cordova code loaded before user code, there is no way to hijack these addListener
calls.

I would like to see an example posted that demonstrates the issue, even if it is intermittent,
because the series of events as described do not make sense.
For this to happen as described, you would need to be using a script loader, or the new async
script methods. http://caniuse.com/#search=async
 
                
> The deviceReady event may not be received because of asynchronous JavaScript loading
> ------------------------------------------------------------------------------------
>
>                 Key: CB-2166
>                 URL: https://issues.apache.org/jira/browse/CB-2166
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CordovaJS, Docs
>    Affects Versions: 2.2.0
>         Environment: Cordova 2.2, Android 2.3.4
>            Reporter: Thomas Dinger
>            Assignee: Filip Maj
>
> HTML page includes Cordova script first, then my Cordova-dependent script. My script
registers a listener for the deviceReady event. Occasionally the listener is not called. I've
determined the problem is due to the timing of the asynchronous loading of the script files.
Because of the way cordova "hijacks" the document.addEventListener function, my event handler
may be registered with the document object instead of Cordova, depending on whether the Cordova
script is executed before my script.
> Would it be possible for Cordova to look at the document object and determine whether
there are existing event listeners for the deviceReady event? And if there are, to "hijack"
these event handlers so they are called correctly when Cordova sends the deviceReady event?
> I have changed my code to wait for the DOMContentLoaded event before registering my deviceReady
event handler. This has been successful for me, and might be an approach that could be used
in the Cordova documentation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message