6

使用 IWebBrowser2 界面很容易知道导航何时发生 (OnBeforeNavigate) 和完成 (OnDocumentComplete)。但是,浏览器中的许多工作都是通过 Ajax 调用(使用 XMLHttpRequest)完成的。

当 Ajax 调用在 IE 中发生并完成时,有没有办法订阅事件跟踪?

4

2 回答 2

4

官方方法是使用IHTMLChangeSink创建变更日志。它并不复杂,但实现起来有点繁琐,这样你就不会丢失任何请求。

我认为最好的方法可能是创建一个 HTTP 代理服务器,然后使用InternetSetOption将代理(注意第一个参数是NULL为当前进程设置)设置为您的本地 HTTP 代理服务器。

于 2013-04-27T16:49:47.463 回答
1

这个先前的问题似乎提供了一个答案:

监控来自 IE BHO 的 ajax 调用

它基本上说你必须向每个页面注入一些 JavaScript 来处理onreadystatechange

于 2013-04-27T16:41:59.590 回答