Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Событие на изменение URL через html5 history (https://javascript.ru/forum/misc/61690-sobytie-na-izmenenie-url-cherez-html5-history.html)

ViruSkin 03.03.2016 06:03

Событие на изменение URL через html5 history
 
Как отловить сие событие? popstate ловит лишь события вперед назад по истории. Хотелось бы событие как hashchange только изменение не только хэши, но и урл
Есть решение проверять каждые 50 мс изменение window.location, но это я считаю костыль, хотелось бы более правильного решения

ViruSkin 03.03.2016 09:08

подсказали что можно ловить событие pushState предопределив его
(function(history){
	console.log('h1');
	var pushState = history.pushState;
	history.pushState = function(state) {
		console.log('ps1')
		if (typeof history.onpushstate == "function") {
			history.onpushstate({state: state});
		}
		console.log('ps2')
		// ... whatever else you want to do
		// maybe call onhashchange e.handler
		return pushState.apply(history, arguments);
	}
	console.log(history.pushState);
	console.log('h2');
})(window.history);


ловит все события pushState, но с расширения почему то не работает, не предопределяет метод. то ли прав не хватает, то ли я делаю не то...


Часовой пояс GMT +3, время: 12:45.