使用 IWebBrowser2 界面很容易知道导航何时发生 (OnBeforeNavigate) 和完成 (OnDocumentComplete)。但是,浏览器中的许多工作都是通过 Ajax 调用(使用 XMLHttpRequest)完成的。
当 Ajax 调用在 IE 中发生并完成时,有没有办法订阅事件跟踪?
使用 IWebBrowser2 界面很容易知道导航何时发生 (OnBeforeNavigate) 和完成 (OnDocumentComplete)。但是,浏览器中的许多工作都是通过 Ajax 调用(使用 XMLHttpRequest)完成的。
当 Ajax 调用在 IE 中发生并完成时,有没有办法订阅事件跟踪?
官方方法是使用IHTMLChangeSink创建变更日志。它并不复杂,但实现起来有点繁琐,这样你就不会丢失任何请求。
我认为最好的方法可能是创建一个 HTTP 代理服务器,然后使用InternetSetOption将代理(注意第一个参数是NULL
为当前进程设置)设置为您的本地 HTTP 代理服务器。