Funkcja history.back()
ma cofnąć jeden krok w historii utworzonej przy użyciu interfejsu API historii HTML5. Poniższy kod działa zgodnie z oczekiwaniami w Firefox, ale nie w Chrome:Funkcja history.back() nie działa z interfejsem API historii HTML5 zgodnie z oczekiwaniami w Chrome
<html>
<script type="text/javascript">
history.replaceState({path: '/home'}, '', '?page=home');
history.pushState({path: '/second'}, '', '?page=second');
console.log(history.state.path); // says "/second"
history.back();
console.log(history.state.path); // says "/second" but should say "/home"
</script>
</html>
W Chrome, drukuje /second
zarówno razy, natomiast po powrocie powinien wydrukować /home
. Czy czegoś brakuje?
Czy ma taki sam efekt, gdy używa się 'history.go (-1);' zamiast 'history.back();'? – TheRealVira
Tak, zarówno 'history.back()' jak i 'history.go (-1)' zachowują się dokładnie tak samo. – ccrisan
Zazwyczaj to naprawia ... Było też coś w rodzaju chromowania, w którym musisz "zwrócić false" po wywołaniu 'history.go (-1);'. – TheRealVira