Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызвать 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]

зачем хотеть странного?


Наверх

Титульная страница Поиск, карта сайта Написать письмо