Open Bug 988944 Opened 10 years ago Updated 2 years ago

Back button / history.back() doesn't get past first entry in history

Categories

(Core :: General, defect)

29 Branch
x86_64
Windows 7
defect

Tracking

()

UNCONFIRMED

People

(Reporter: webbasan, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36

Steps to reproduce:

In a Wicket 6 application, the server generates 302 responses to redirect to a specific version of a page. Firefox gets stuck when using the back button or history.back() in JavaScript: it goes back to the previous page in the history, but not further.

Details of the request/reponse flow:
Request "/pageA", Response 302: location "/pageA?1"
Request "/pageA?1", Response 200
Request "/pageB", Response 302: location "/pageB?2"
Request "/pageB?2", Response 200
Request "/pageC", Response 302: location "/pageC?3"
Request "/pageC?3", Response 200


Press back-button (currently display "pageC?3"):

Request "/pageB?3", Response 302: location "/pageB"
Request "/pageB", Response 302: location "/pageB?4"
Request "/pageB?4", Response 200

Press back-button again (currently display "pageB?4"):

Request "/pageB?3", Response 302: location "/pageB"
Request "/pageB", Response 302: location "/pageB?5"
Request "/pageB?5", Response 200



Actual results:

It seems Firefox doesn't go up in it's history stack in this case: when calling history.go(-2) or history.go(-3) the respective pages ("pageA" and the page before that) will be displayed.
Even when "pageA" is displayed, history.go(-2) will display the same page - only history.go(-3) will go back to the page before.

So it looks like current position in the history doesn't leave the top of the history stack.


Expected results:

When pressing the back button the second time, the request response cycle should look like:

Press back-button again (currently display "pageB?4"):

Request "/pageA?1", Response 302: location "/pageA"
Request "/pageA", Response 302: location "/pageA?6"
Request "/pageA?6", Response 200


(It does work as expected with the same setup with other browsers like IE9 and Chrome 33.)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.