[
https://issues.apache.org/jira/browse/CB-2166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13600692#comment-13600692
]
Andrew Grieve commented on CB-2166:
-----------------------------------
I think this does actually work in most browsers:
document.addEventListener('deviceready', function() { console.log('fired.')},
true)
var e = document.createEvent('HTMLEvents')
e.initEvent('deviceready')
document.dispatchEvent(e)
The question is whether highjacking addEventListener provides any value. E.g.
some channels perform logic when the first listener is registered. For
deviceready though, I don't see any reason why we shouldn't go ahead with this.
> 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