![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окончание загрузки TWebBrowser
ajunta © (2008-06-01 15:49:00)всем доброго времени суток. помогите пожалуйста решить задачку:
надо выполнить процедуру по завершению загрузки странички в TWebBrowser, посмотрел его события - нашел несколько, но все они (OnDownloadComplete, OnDocumetnComplete, OnNavigateComplete) вызывабтся несколько раз, (пробовал заходить на torrents.ru)
как-то можно отловить момет когда уже все загружено?
Правильный_Вася (2008-06-02 11:21:00) [1]OnNavigateComplete2 event (TWebBrowser)
?
Vlad Oshin (2008-06-02 09:31:00) [2]может такого дожидаться на странице?
</HTML>
Vlad Oshin (2008-06-02 09:31:00) [3]может такого дожидаться на странице?
</HTML>
Vlad Oshin (2008-06-02 09:31:00) [4]может такого дожидаться на странице?
</HTML>
palva (2008-06-01 23:05:00) [5]как-то можно отловить момет когда уже все загружено?
Сначала надо понять, что значит все загружено. Если страничка загрузилась, но через 1 секунду она снова обратится с запросом к Интернету, а через пять секунд еще... Можно ли про нее говорить, что все загружено?
То есть нужно рассматривать конкретный сайт и выяснять, что означает каждый NavigateComplete
Умище-0111 (2008-06-01 22:27:00) [6]
> ajunta © (01.06.08 21:20) [8]
> Если бы к гуглю.... значит способ неуниверсальный....
У меня один раз срабатывает.
ajunta (2008-06-01 21:20:00) [7]Если бы к гуглю.... значит способ неуниверсальный....
(2008-06-01 21:18:00) [8]Удалено модератором
(2008-06-01 21:11:00) [9]Удалено модератором
ajunta (2008-06-01 21:09:00) [10]
> разу после окончания загруки страницы управление передаётся
> DocumentComplete
если WebBrowser1.Navigate('google.com');
OnDocumentComplete выполниться не один раз. оно вызывается еще до того, как страничка прогрузилась на деле.
(2008-06-01 21:08:00) [11]Удалено модератором
(2008-06-01 21:06:00) [12]Удалено модератором
ajunta (2008-06-01 20:52:00) [13]Попробовал, но в такой ситуации например:
procedure TForm1.Button5Click(Sender: TObject);
var i:integer;
Persist : IPersistFile;
Document : IHTMLDocument2;
b : LongBool;
source:string;
filename: pWideChar;
begin
for i:= 0 to 10 do begin
WebBrowser.Navigate(' http://www.google.com/search?q='+inttostr(i));
while WebBrowser.Busy do Application.ProcessMessages;
Document := WebBrowser.Document as IHTMLDocument2;
Persist := Document as IPersistFile;
b:=false;
source:='page'+inttostr(i)+'.html';
GetMem(filename, sizeof(WideChar) * Succ(Length(source)));
StringToWideChar(source, filename, Succ(Length(source)));
Persist.Save(filename,b);
FreeMem(filename);
end;
log.Lines.Add('OK!')
end;
зада была в том, что бы сохранить результаты поиска для циф от 0 для 10, но в результате во всех файла только результат поиска для 0, а дальше ничего не меняется, хотя Navigate вызывается... :-\
Ум_ще (2008-06-01 16:15:00) [14]Не пробовал такой вариант?
while WebBrowser1.Busy do Application.ProcessMessages;