我正在尝试通过扩展程序在LinkedIn上加载脚本。但是,每次单击标题中的一个链接时,它看起来都是使用AJAX渲染主容器。
我有这个,这不起作用:
$(function() {
console.log("LOADED");
$(window).on("load", () => {
$(window).on("hashchange", function(e) {
console.log("PATH CHANGED") // I want to print this every time the route changes and scrape the updated DOM
});
});
});
这是有道理的,因为它不使用哈希。我不知道如何为路径更改添加侦听器+刮掉更新的dom。
有办法做到这一点吗?
答案 0 :(得分:-1)
在没有重新加载的情况下,浏览器中URL的更改由history.pushstate
history.pushState({id: 'SOME ID'}, '', "http://thisisthenewURL.com/whateva");
您可以使用以下代码收听此事件:
window.onpopstate = function (event) {
// do stuff here
}
以下帖子已回答: How to detect when history.pushState and history.replaceState are used?