Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

компонент twebbrouser   Найти похожие ветки 

 
Max_   (2004-03-31 17:23) [0]

Как можно отследить завершение загрузки страницы в webbrowser


 
VMcL ©   (2004-03-31 17:43) [1]

OnDocumentComplete
OnNavigateComplete2

?


 
Max_   (2004-03-31 17:50) [2]

ondocumentcomplete, onnavigationcomplete, ondownloadcomplete для страничек с фрэймами срабатывают раньше чем завершается вся загрузка
нужно что-то ещё


 
int64   (2004-03-31 18:06) [3]

function IsWBComplete(WB: IWebbrowser2): boolean;
var
 OleContainer: IOleContainer;
 enum: IEnumUnknown;
 TempUnk: IUnknown;
 Fetched: PLongint;
 FrameLength, FrameNo: integer;
begin
Result:= True;
With WB do
 if (ReadyState = READYSTATE_COMPLETE) and (Assigned(document)) then
    begin
     OleContainer := Document as IOleContainer;
     FrameLength:=(Document as IHTMLDocument2).frames.length;
      for FrameNo:=0 to FrameLength-1 do
       begin
        Fetched := nil;
        OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
        Enum.Skip(FrameNo);
        Enum.Next(1, TempUnk, Fetched);
        Result := IsWBComplete(TempUnk as IWebbrowser2);
        if Result = False then break;
       end;
    end else
  Result:= False
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate("c:\temp\2\2.htm");
while not IsWBComplete(WebBrowser1.ControlInterface) do
 Application.ProcessMessages;
ShowMessage("WebBrowser1 is complete");
end;


 
easy ©   (2004-04-01 00:15) [4]

procedure TForm1.Button1Click(Sender: TObject);
begin
 WebBrowser1.Navigate("about:blank");
 while WebBrowser1.ReadyState < READYSTATE_LOADED do
   Application.ProcessMessages;
 showmessage(WebBrowser1.OleObject.document.location);
end;


 
int64   (2004-04-01 09:30) [5]

easy ©   (01.04.04 00:15) [4]
То же что и OnDownloadComplete?


 
Max_   (2004-04-01 10:44) [6]

int64   (01.04.04 09:30) [5]
вариант easy в моём случае отлично работает а ondownloadcomplete срабатывает несколько раз в течение загрузки


 
int64   (2004-04-01 10:59) [7]

Такой вариант просто пропускает загрузку вложенных фреймов.
Он мониторит только главный документ.
Сообщение выскакивает раньше, чем все фреймы загрузятся.


 
nikkie ©   (2004-04-01 15:15) [8]

>вариант easy в моём случае отлично работает
вот это удивительно, документация описывает статусы следующим образом.

READYSTATE_UNINITIALIZED  Default initialization state.
READYSTATE_LOADING  Object is currently loading its properties.
READYSTATE_LOADED  Object has been initialized.
READYSTATE_INTERACTIVE  Object is interactive, but not all of its data is available.
READYSTATE_COMPLETE  Object has received all of its data.

логично было бы предположить, что READYSTATE_LOADED возникает до READYSTATE_COMPLETE, а когда статус установился в READYSTATE_COMPLETE, то он больше не меняется до следующей навигации. а DownloadComplete и есть извещение о том, что достигнут этот статус.

DownloadComplete
This method of the DWebBrowserEvents interface notifies an application that a document has reached the READYSTATE_COMPLETE state.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
3-1082804326
Кирилл Негодов
2004-04-24 14:58
2004.05.23
Вычисляемые поля.


14-1083321547
syte_ser78
2004-04-30 14:39
2004.05.23
Что такое окно, понятно. А что такое файл?


6-1081082750
Delphi5.01
2004-04-04 16:45
2004.05.23
... реализовать протокол HTTP ...


11-1072347108
ecm
2003-12-25 13:11
2004.05.23
Вылет в менеджере памяти


3-1083072251
Sergey_
2004-04-27 17:24
2004.05.23
Настройка BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский