Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

компонент 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
6-1081178925
-=Demon=-
2004-04-05 19:28
2004.05.23
TClient&amp;TServer-Socket


14-1083085712
Piter
2004-04-27 21:08
2004.05.23
Какая у вас любимая комедия?


1-1084176269
BillyJeans
2004-05-10 12:04
2004.05.23
как определить какая из клавиш мышки нажата над TMenuItem?


14-1083855046
Knight
2004-05-06 18:50
2004.05.23
Что удобнее ADO и BDE?


14-1083517833
Date?
2004-05-02 21:10
2004.05.23
Дата в анкете