Положим, есть небезызвестный сайт
https://karmazzin.gitbooks.io/eloquentjavascript_r...
Как к ней прикрутить обработку события изменения адресной строки?
Т.е. кликаем на название главы слева и в ответ, скажем, выскакивает alert.
ps. варианты, которые я нагуглил, но не работают:
$(window).unload(
function(event) {
alert("$(window).unload");
}
);
window.onhashchange = function() {
alert('window.onhashchange');
}
window.onbeforeunload = function () {
alert('window.onbeforeunload');
}
upd. Дело, как вы понимаете, не в данном конкретном сайте, он так, для наглядности приведен
upd2. Поясню зачем это мне - пишу расширение для хрома, и мне нужно перехватывать изменение URL на страницах, где клики на ссылки обрабатываются аяксом, ну и соответственно не происходит перезагрузки страницы, но при этом URL меняется.
Из работающего пока нашел вариант через навешивание обработчика на таймаут, но как-то это не фэншуй, на мой вкус:
(function() {
let oldHref = window.location.href;
setInterval(function() {
if (oldHref !== window.location.href) {
alert("HREF CHANGED - new has" + window.location.href);
oldHref = window.location.href;
}
}, 100);
})();