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

Shazron Abdullah commented on CB-2094:
--------------------------------------

There appears to be a scoping problem when setTimeout is wrapped around the 
fire function. This apply() doesn't work: 
https://github.com/apache/cordova-ios/blob/534a7a1702014b1503a624881cbdd900aa3a3b09/CordovaLib/cordova.ios.js#L690

The work-around is, make your deviceready handler be a global function like so 
in app.js for a new project:
{code}
    bindEvents: function() {
        // doesn't work for CB-2094
        document.addEventListener('deviceready', this.onDeviceReady, false);
        // works for CB-2094
        x = function() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', x, false);
    },

{code}
                
> Cordova 2.30 not reliably firing deviceready after reload of local files
> ------------------------------------------------------------------------
>
>                 Key: CB-2094
>                 URL: https://issues.apache.org/jira/browse/CB-2094
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 2.3.0
>            Reporter: Bob Moore
>            Assignee: Shazron Abdullah
>              Labels: Cordova, deviceready
>         Attachments: index.html, MainViewController.h, MainViewController.m, 
> MainViewController.xib
>
>
> I've added a semi transparent home button to the MainViewController which 
> loads the local index.html file within my Cordova 2.30 project. After I've 
> moved on to a remote page, (may be Cordova enabled, may not) and I return 
> with the home button, sometimes deviceready does not fire. It may fire a few 
> times then stop. Once it stops the only way to fix the issue is to send the 
> app to the background (deviceready will now fire) and return.
> This same technique works fine in Cordova 2.20

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

Reply via email to