使用JavaScript如何捕获所有XMLHttpRequest onreadystatechange?

时间:2010-09-27 01:42:51

标签: javascript ajax xmlhttprequest

我正在开发Chrome的扩展程序,我需要在加载后对页面代码进行一些更改。但问题是window.onload事件现在几乎没有任何网站使用AJAX是没用的。您不能假设所有内容都已加载,因为在所有AJAX请求完成加载之前会触发window.onload。所以我希望能够捕获属于任何XMLHttpRequest的所有onreadystatechange并在我的扩展中处理该事件.....这甚至可能吗?原型有帮助吗?

1 个答案:

答案 0 :(得分:3)

我不相信它是直接可能的,但也许你可以用自己的对象替换window.XMLHttpRequest,该对象充当真实XMLHttpRequest的代理(但是为你自己的代码提供全局回调)。

但你无法真正假设XMLHttpRequest与内容加载无关。脚本可能会在任何交互事件或甚至无提示的超时时写入大量内容。

如果您需要知道任何时候将新内容添加到文档中,您可能需要DOM Mutation Events