Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 浏览器辅助对象与AJAX_C#_Ajax_Asynchronous_Bho - Fatal编程技术网

C# 浏览器辅助对象与AJAX

C# 浏览器辅助对象与AJAX,c#,ajax,asynchronous,bho,C#,Ajax,Asynchronous,Bho,我想知道BeforeNavigate2或DocumentComplete事件是否应该在使用AJAX的页面上触发。比如谷歌地图。当我在地址栏中放置一些东西时,一切都正常,但当我移动地图并调整其大小时,什么都不会发生(DocumentComplete和BeforeNavigate2不会启动),但数据会发送到Internet或从Internet发送。ajax中的a代表异步。这些事件是响应同步方法完成而触发的。由于异步请求可以在任何时候发出,浏览器无法知道它们何时全部完成。我认为您需要处理ajax请求,

我想知道BeforeNavigate2或DocumentComplete事件是否应该在使用AJAX的页面上触发。比如谷歌地图。当我在地址栏中放置一些东西时,一切都正常,但当我移动地图并调整其大小时,什么都不会发生(DocumentComplete和BeforeNavigate2不会启动),但数据会发送到Internet或从Internet发送。

ajax中的a代表异步。这些事件是响应同步方法完成而触发的。由于异步请求可以在任何时候发出,浏览器无法知道它们何时全部完成。

我认为您需要处理ajax请求,您可以处理DownloadBegin和DownloadComplete事件

代码:

public int SetSite(object site)
{
   if (site != null)
   {
      webBrowser = (WebBrowser)site;
      webBrowser.DownloadComplete += new DWebBrowserEvents2_DownloadCompleteEventHandler(DownloadComplete);
      webBrowser.DownloadBegin += new DWebBrowserEvents2_DownloadBeginEventHandler(DownloadBegin);
   }
   else
   {
      webBrowser.DownloadComplete += new DWebBrowserEvents2_DownloadCompleteEventHandler(DownloadComplete);
      webBrowser.DownloadBegin += new DWebBrowserEvents2_DownloadBeginEventHandler(DownloadBegin);
      webBrowser = null;
   }
   return 0;
}
活动:

private void DownloadBegin()
{
   MessageBox.Show("Download Begin");
}
private void DownloadComplete()
{
   MessageBox.Show("Download Complete");
}

这是我的工作。

我监视下载开始并下载完整的事件,以处理包含ajax代码的页面。
还需要程序逻辑来控制流程,例如设置/检查标志

所以不可能用Browser Helper对象来测量AJAX请求的时间?请参阅,以了解如何订阅任意事件。请告诉我如何在c代码中订阅DISPID_HtmlIndowEvents2#ONLOAD事件?