我正在构建一个chrome扩展程序,以帮助自动化Twitter网站的各个部分。当您浏览时,例如加载主页,然后单击趋势/搜索链接,没有jQuery“ready”或DOMContentLoaded事件触发。查看网络跟踪,它表示通过ajax加载下一页的html。我想检测何时发生这种情况,而不是使用setInterval或类似的方法监视document.location。
我已经查看了DOMNodeRemoved事件,但是它会针对任何删除的节点触发,并且是一种可能的解决方案,但是它经常触发时很笨拙,不仅仅是页面更改而且没有明确指示页面已更改
$("body").on("DOMNodeRemoved", function(evt) {
console.log(evt.target, evt, this);
});
我假设Twitter使用pushState更新位置,因为地址栏确实发生了变化。位置发生变化时是否有事件?或者当它与pushState特别改变时?
ajax调用不是jQuery模式,所以我不能用jQuery全局事件挂钩。是否可以检测到任何XMLHttpRequest请求?
捕获页面更改的好方法是什么?