HTML5 представи някои наистина удобни инструменти за манипулиране хронологията на браузъра, а именно методите history.pushState
/replaceState
и събитието onpopstate
, така че не трябва да разчитаме на location.hash
es, за да покажем смислен URL адрес за нашите уеб приложения.
(Или по-добре, няма да разчитаме на хешове, когато приемането на IE‹10 ще бъде незначително.)
Използването на бутона за връщане назад и напред на браузъра не презарежда страницата, ако целевото състояние е създадено с помощта на history.pushState
, дори ако URL адресът изглежда напълно различно.
Въпреки това, за разлика от промяната на хеша, ако потребителят промени URL адреса от адресната лента на браузъра, браузърът презарежда страницата. Някак си се съмнявам, че има ефективно решение за това, но въпросът е: има ли начин да се попречи на браузъра да презареди страницата и вместо това да се принуди да прокара състояние на хронология?