2016-07-11 2 views
1

У меня есть сайт, который изменяет URL без перезагрузки с помощью следующей команды на Chrome:Обнаружить это событие на Chrome: изменение изменения URL без перезагрузки

window.history.pushState(“object or string”, “Title”, “/new-url”); 

Есть ли способ, чтобы обнаружить такое событие от Javascript ? Я попытался это, но он не работает:

$(window).bind('hashchange', function() { 
    alert("CHANGED!!"); 
}); 
+0

Почему вы не запускаете собственное пользовательское событие? –

+0

Веб-сайт не мой, SLACK. И я просто пишу расширение Chrome ... – Arturo

+0

Я имею в виду, если это ваш собственный код, который вызывает 'pushState', а затем сразу же запускает любое настраиваемое событие (например, popstate one), см. [Trigger()] (http: //api.jquery.com/trigger/) –

ответ

0

Только для Chrome Extensions

Дано:

var stateObj = { foo: "bar" }; 
history.pushState(stateObj, "page 2", "yourwebsite.com/page2"); 

вы можете обнаружить его с этим:

chrome.webNavigation.onHistoryStateUpdated.addListener(function(e) { 
     console.log(e); 
     }, {url: [{hostEquals: 'yourwebsite.com'}); 
Смежные вопросы