Форум: "Сети";
Текущий архив: 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