Я никогда не работал с методом onpopstate / pushState в HTML5. Однако я создаю (или уже построил) веб-сайт, где прокрутка страницы изменяет хэш в адресной строке на идентификатор отображаемого в данный момент элемента в области просмотра. Так что у меня есть своего рода история браузера и глубокие ссылки на мою одностраничную верстку.
Я все еще делаю это с установкой top.location.hash
и использованием функции hashchange()
. Теперь я наткнулся на этот новый метод popstate / onPushstate в HTML5 и подумал, что это будет интересно…
Прежде всего: Каковы преимущества использования этих popstate/onPushState
методов? Лучше использовать это, чем классический способ использования top.location.hash
? Производительность лучше?
Если так, есть ли способ запросить или выяснить, поддерживает ли данный браузер эти методы? Поэтому я могу использовать эти методы для современных браузеров и использовать старый способ в старых браузерах.
Это возможно? Если да, то как?