Как определить, когда страница загружается полностью в веб-браузере в csharp? - PullRequest
2 голосов
/ 29 апреля 2011

Привет Я разрабатываю панель инструментов IE на C Sharp, которая обращается к источнику HTML страницы, отображаемой в IE, и обрабатывает ее. Я полагаюсь на обработчик событий ondocumentcomplete. Когда это запущено, источник HTML взят. Но у меня есть проблема со страницами, имеющими фреймы, так как ondocumentcomplete запускается для каждого фрейма, последний из которых - внешний фрейм, окно. Чтобы заняться этим, я так и сделал -

    public void OnDocumentComplete(object pDisp, ref object URL)
    {
      if (pDisp.Equals(Explorer.IWebBrowser_Parent))
        {
             // check for frames n get the source of all
        }
      else
            // ignore
     }

Таким образом, я смог получить источник всех кадров. Но проблема в том, что для определенных страниц, имеющих фрейм или фрейм, ondocumentcomplete не запускается для окна. поэтому приведенный выше код не будет обрабатывать такие, например: http://www.w3schools.com/html/tryit.asp?filename=tryhtml_intro запускает ondocumplete для этого URL, Однако, нажав на кнопку «Изменить» и «Нажми меня», перезагрузка фрейма не приводит к завершению документа для окна. Как обойти это?

1 Ответ

0 голосов
/ 30 апреля 2011

Вопрос, кажется, такой: Как узнать, когда я прекращаю получать данные из моего запроса?

Если вы сформулируете это так, вы можете понять, когда вы это делаете, иначе вы больше не получаете данные (установите таймер для проверки), или соединение с страницей закрывается и т. Д.

...