You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Shazron Abdullah (JIRA)" <ji...@apache.org> on 2013/01/02 22:30:14 UTC

[jira] [Comment Edited] (CB-2094) Cordova 2.30 not reliably firing deviceready after reload of local files

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

Shazron Abdullah edited comment on CB-2094 at 1/2/13 9:29 PM:
--------------------------------------------------------------

I tried it again with a global and local function, with this repro. Either of those works just not this.onDeviceReady. Also if I refer to the variable 'this' was assigned to instead of 'this', it works. Thus it seems it is a scoping issue of 'this' when the function is applied.

Repro on iOS 6:
1. Load app
2. Click on Yahoo Remote URL button
3. Click on Home transparent button

{code}
       bindEvents: function() {
        // global works for CB-2094
        x = function() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', x, false);
        // local works for CB-2094
        var y = function() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', y, false);
        // local works for CB-2094
        function z() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', z, false);
        // this WORKS for CB-2094
        document.addEventListener('deviceready', app.onDeviceReady, false);
        // this does NOT work for CB-2094
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
{code}

                
      was (Author: shazron):
    I tried it again with a global and local function, with this repro. Either of those works just not this.onDeviceReady.

Repro on iOS 6:
1. Load app
2. Click on Yahoo Remote URL button
3. Click on Home transparent button

{code}
       bindEvents: function() {
        // global works for CB-2094
        x = function() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', x, false);
        // local works for CB-2094
        var y = function() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', y, false);
        // local works for CB-2094
        function z() {
            alert('deviceready global');
        }
        document.addEventListener('deviceready', z, false);
        // this does NOT work for CB-2094
        document.addEventListener('deviceready', this.onDeviceReady, 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: CordovaJS, iOS
>    Affects Versions: 2.3.0
>            Reporter: Bob Moore
>            Assignee: Shazron Abdullah
>              Labels: Cordova, deviceready, iOS6
>             Fix For: 2.4.0
>
>         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