如何捕获页面使用 Webbrowser / EmbeddedWB 发出的所有 AJAX 请求?不幸的是,BeforeNavigate2 不会因 AJAX 请求而被触发。
例如:当您在谷歌搜索栏中输入时发出的请求。
如何捕获页面使用 Webbrowser / EmbeddedWB 发出的所有 AJAX 请求?不幸的是,BeforeNavigate2 不会因 AJAX 请求而被触发。
例如:当您在谷歌搜索栏中输入时发出的请求。
如果环境在你的控制之下。您可以使用自定义 HTTP 代理(例如基于 Indy)。
请参阅:Indy 的 TIdHTTPProxyServer:如何过滤请求?
Ajax 请求可以根据其特定的标头进行检测:
更新:微软网络论坛上的这个问题有一个公认的答案:
如果我是你,我会在加载后将我自己的脚本注入到每个页面中。这是一个捕获所有 AJAX 请求并通知应用程序的脚本。
使用以下代码,您可以捕获由jQuery
(尚未尝试,但我认为它不适用于非 jQuery AJAX 请求)发出的每个 AJAX 请求。
$.ajaxSetup({
beforeSend: function() {
// before sending the request
},
complete: function() {
// after request completion
}
});
它甚至不是代码,但它可以为您提供您想要做什么的线索。
当然使用这种方法,您将需要以某种方式与您的应用程序进行通信。例如,我将使用我自己编造的协议和一个新的窗口命令,以便我的 Delphi 组件能够捕获和解析事件。
正如我所说,这里有很多选择,我只是提供一个线索。