IE6 buffert mijn #id anchors netjes terug als ik de back button gebruik. Maar location.href snapt het niet helemaal, die blijft gewoon met die laatste #id terug komen als ik hem opvraag. Is er een redelijk simpele manier om dit toch werkend te krijgen?
Wat ik nu heb:
Alleen als mensen een linkje aanklikken wordt bufferedUrl geupdate, met als gevolg dat als je de back knop gebruikt, dit script (in non-IE browsers) detecteert dat de location.href is gewijzigd ten opzichte van de bufferedUrl, de back knop is gebruikt, en er dus ook iets anders getoond moet worden.
IE heeft niet door dat hij een andere location gekregen heeft en blijft persistent de oude href doorgeven.
Wat ik nu heb:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| var bufferedUrl = location.href; function pollBackButton() { if (bufferedUrl != location.href) { currentUrlParts = location.href.split("#"); alert(currentUrlParts[1]); if (currentUrlParts[1] != null && currentUrlParts[1] != "") { showFaq(currentUrlParts[1]); } else { resetFaq(); } } window.setTimeout(pollBackButton, 1000); } window.setTimeout(pollBackButton, 1000); |
Alleen als mensen een linkje aanklikken wordt bufferedUrl geupdate, met als gevolg dat als je de back knop gebruikt, dit script (in non-IE browsers) detecteert dat de location.href is gewijzigd ten opzichte van de bufferedUrl, de back knop is gebruikt, en er dus ook iets anders getoond moet worden.
IE heeft niet door dat hij een andere location gekregen heeft en blijft persistent de oude href doorgeven.
[ Voor 4% gewijzigd door BikkelZ op 14-02-2008 11:47 ]
iOS developer