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

Clark Pan commented on CB-5694:
-------------------------------

The same code run on the default android browser behaves as expected. That 
being said, i have not tested a vanilla WebView.

To refute what was said about manipulating window.location.href, that is not 
the point of location.replace. Location.replace is used when you want to 
replace the last page on the history stack instead of pushing a new page onto 
the stack; using window.location.href will push another page onto the stack.

Providing a consistent implementation of this will remove a barrier for 
developing hybrid/web apps. Most popular frameworks that have routing 
(Backbone, Angular, you name it), uses this method.

> location.replace does not behave as expected
> --------------------------------------------
>
>                 Key: CB-5694
>                 URL: https://issues.apache.org/jira/browse/CB-5694
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 3.1.0, 3.2.0, 3.3.0
>         Environment: Tested on Android 4.1.2 Sony Xperia T
> Android 4.2.2 Samsung Galaxy S4
>            Reporter: Clark Pan
>            Assignee: Joe Bowser
>            Priority: Minor
>
> Using location.replace should replace the current page with the specified 
> page. This is not the case when using hash values.
> Steps to reproduce:
> 1. Create new cordova project
> 2. Add android
> 3. Run code similar to this after device ready
> {code:javascript}
> window.location.hash = '#foo';
> expect(window.location.hash).toBe('#foo');
> window.location.replace('#bar');
> expect(window.location.hash).toBe('#bar');
> window.location.hash = '#foobar';
> expect(window.location.hash).toBe('#foobar');
> window.history.back();
> setTimeout(function(){
>     expect(window.location.hash).toBe('#bar');
> }, 0);
> {code}
> Expected results:
> All the expectations to be true
> Actual results:
> the last hash value will be '#foo'
> Workaround:
> One could shim location and history and provide their own implementation of 
> history state.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to