![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызвать webbrowser.onDocumentComplete из timer?
Den © (2013-09-06 07:17:00)как? пример можно?
Den (2013-09-07 00:11:00) [1]почему бы не загружать фрейм отдельно?
можно было бы даже без TWebBrowser обойтись. - можно, но уже сделал на IE, работает и фиг с ним, в следующий раз попробую без IE сделать.
RWolf (2013-09-06 13:38:00) [2]почему бы не загружать фрейм отдельно?
можно было бы даже без TWebBrowser обойтись.
stas (2013-09-06 12:27:00) [3]
procedure TfmBrowser.browserDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
fcompleet:=true;
end;
> но эта паскуда подгружается чуть позже основной страницы
Просто WebBrowser2DocumentComplete, срабатывает на каждый фрейм.
stas (2013-09-06 12:01:00) [4]Я как то с этим пытался бороться в итоге получилось вот так:
browser.Navigate(url);
while browser.Busy=true do begin sleep(10); if fstopped then exit; end;
While browser.ReadyState <> READYSTATE_COMPLETE do begin sleep(10);if fstopped then exit; end;
While not fcompleet do begin sleep(10); if fstopped then exit; end;
....
procedure TfmBrowser.browserBeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
fcompleet:=false;
end;
Может быть есть более красивые решения, но я так и не нашел.
Den (2013-09-06 08:12:00) [5]ну просто очень вы никогда не видели несколько событий onDocumentComplete на одной странице?
brother (2013-09-06 08:09:00) [6]> но эта паскуда подгружается чуть позже основной страницы
это как?
Den (2013-09-06 07:50:00) [7]Задолбался, была страничкаб парсил ее себе, тут хозяева решили что харе мне ее парсить и добавили iframe туда и вот все нормальные люди ночью спят а я мудохаюсь с этим всем, еслиб фрейм был один все ок а то он еще и не один и постоянно меняется местами id тоже динамический и это ладно но эта паскуда подгружается чуть позже основной страницы поэтому нужен таймер был чтоб проверять если элемента нет то ждем немного и так пока не дождемся. По итогу вынес все что было в WebBrowser2DocumentComplete в процедуру tform1.EbaniiDocCompleteCtobVizvatNadoPRchitatSuka20TomovHyevogoDermaPoetomProce dyra; ее вызываю из браузера и из таймера и все пока работает,,,, пока,,, пока блин у кгото руки опять не зачушутся что-то менять падла.
brother (2013-09-06 07:41:00) [8]зачем хотеть странного?