Browser Helper Object и AJAX - PullRequest
       3

Browser Helper Object и AJAX

0 голосов
/ 11 ноября 2011

Мне интересно, должны ли события BeforeNavigate2 или DocumentComplete запускаться на страницах с AJAX.Например гугл карты.Когда я помещаю что-то в адресную строку, все в порядке, но когда я перемещаю карту и изменяю ее размер, ничего не происходит (DocumentComplete и BeforeNavigate2 не запускается), но данные отправляются в Интернет и из Интернета.

Ответы [ 3 ]

0 голосов
/ 27 мая 2013

Я думаю, что вам нужно обработать 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");
}

это работа для меня.

0 голосов
/ 03 ноября 2013

Я отслеживаю начало загрузки и загружаю полные события для обработки страниц, которые содержат коды ajax.Также необходима программная логика для управления потоком, например.установить / проверить флаги.

0 голосов
/ 11 ноября 2011

a в ajax означает асинхронный. Эти события запускаются в ответ на завершение синхронных методов. Поскольку асинхронный запрос может быть сделан в любое время, браузер не может знать, когда они все будут выполнены.

...