[ 
https://issues.apache.org/jira/browse/CB-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jesse MacFadyen closed CB-520.
------------------------------

    
> WP7 Certification and the Back Button
> -------------------------------------
>
>                 Key: CB-520
>                 URL: https://issues.apache.org/jira/browse/CB-520
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: WP7
>    Affects Versions: 1.6.1
>         Environment: VS.NET 2010 and WP7.1 emulator
>            Reporter: Alan Neveu
>            Assignee: Jesse MacFadyen
>            Priority: Critical
>             Fix For: 1.8.0
>
>
> I tried submitting my PG 1.5 app to the Windows Marketplace and it was 
> rejected due to WP7's requirements for the Back Button. I upgraded to PG 
> 1.6.1 and I am inspecting how it works with the hardware back button.  It 
> seems to work much better, but my app is designed so that it has a soft back 
> button in the app in various places, and on WP7 the user can always tap the 
> hardware back button.  I am trying to use navigator.app.historyBack and it 
> appears to work, but it does something slightly different than actually 
> tapping the hardware back button does.  I have also tried using 
> window.history.back and that works different yet.  I am using JQueryMobile 
> 1.1.0 and so I wind up doing quite a lot of $.mobile.changePage calls to 
> #Page id's, and because I use multiple .html files I also need to do some 
> rel="external" links or window.location.href= calls.  I think my needs are 
> similar or the same as those of other WP7 developers.  Here is what currently 
> happens with PG 1.6.1 in a simple Page1/Page2 JQueryMobile app when using the 
> hardware back button versus using navigator.app.historyBack, vs. 
> window.history.back:
> SCENARIO #1 - using hardware BackButton only
> Page 1 links to Page 2 using $.mobile.changePage("#Page2");
> BackButton tap - goes back to Page1 but page is requested again and reloaded 
> from scratch which is slow and the user loses any form data they had entered.
> BackButton tap - exits app (great!)
> SCENARIO #2 - hardware BackButton and navigator.app.backHistory
> Page 1 links to Page 2 using $.mobile.changePage("#Page2");
> navigator.app.backHistory(); goes back to Page1 served from cache, which is 
> fast and form data is preserved.
> BackButton tap: nothing happens
> BackButton tap: Page1 is reloaded from scratch
> BackButton tap: exits app
> SCENARIO #3 - hardware backButton and window.history.back
> Page 1 links to Page 2 using $.mobile.changePage("#Page2");
> window.history.back(); goes back to Page1 served from cache.
> BackButton tap: Page1 is reloaded from scratch (DOH!)
> BackButton tap: exits app
> My Observations:
> 1) The hardware back button does not use the cached page - it 
> reloads/re-requests the page. This is kind of a drag but I think we have to 
> just go with this because it is the behavior that the Marketplace testers 
> will be expecting and validating.
> 2) window.history.back() is giving better results than 
> navigator.app.backHistory, but still not the same as the hardware back 
> button. I think apps will fail Marketplace certification if they use either 
> of these approaches for soft back buttons.
> 3) When going back to an external page (as opposed to a JQueryMobile 
> #pageID), window.history.back works but navigator.app.backHistory does not 
> seem to do anything at all.  I say window.history.back "works" but it is 
> still the same result as in Scenario #3 above, which is not good.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to