1

我正在构建一个 chrome 扩展来帮助自动化 Twitter 网站的各个部分。当您浏览时,例如加载主页,然后单击趋势/搜索链接,不会触发 jQuery“就绪”或 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 请求?

什么是捕捉页面变化的好方法?

4

0 回答 0