Форум: "Начинающим";
Текущий архив: 2017.04.02;
Скачать: [xml.tar.bz2];
ВнизПолная загрузка страницы в Twebbrowser Найти похожие ветки
← →
lewka © (2015-08-05 10:10) [0]Здравствуйте, уважаемые мастера программирования.
Подскажите, пожалуйста, как определить, что страница открываемая в TWebbrowser полностью загрузилась. Я знаю что есть событие OnDownloadComplete, но оно выполняется много раз при открывании страницы.
Вот например сайт http://napartnjorkah.blogspot.ru , при открывании его событие срабатывает 8 раз.
← →
sniknik © (2015-08-05 13:53) [1]там наверное в фоне/невидимо куча реферальных ссылок открывается, т.сказать по теме, зарабатывают на тебе...
еще Ajax может быть, догружать "по ходу"... хоть через полчаса(от твоих действий), но страница та же...
делай такprocedure TForm1.Button2Click(Sender: TObject);
var
url: OleVariant;
begin
iCount:= 0;
Label1.Caption:= "0";
url:= "http://napartnjorkah.blogspot.ru/";
WebBrowser2.Navigate2(url);
end;
procedure TForm1.WebBrowser2DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
if URL = "http://napartnjorkah.blogspot.ru/" then begin
iCount:= iCount + 1;
Label1.Caption:= "DocumentComplete " + IntToStr(iCount);
end;
Memo1.Lines.Add(URL);
end;
← →
lewka © (2015-08-05 15:19) [2]Все понятно с этим.
А еще маленький вопрос/
Делаю Webbrowser скрытым (черезHide
), загружаю в него страницу.
Но OnDocumentComplete не срабатывает пока не сделатьWebbrowser.Show
Как в скрытом TWebbrowser определить загрузился сайт или нет?
← →
sniknik © (2015-08-05 15:50) [3]как может быть завершён документ которого не видно? не логично.
попробуй NavigateComplete по той же схеме, может выйдет.
← →
sniknik © (2015-08-05 15:53) [4]хотя, Navigate не то же самое что документ, он до формирования страницы делается... но она загрузилась, т.е. "по букве вопроса"
> полностью загрузилась
подходит.
← →
ухты © (2015-08-06 00:39) [5]надо определить сначала что есть "полностью загрузилась"
← →
sniknik © (2015-08-06 10:09) [6]зачем определять? читать буквально что значат названия событий и что в доке по ним написано...
NavigateComplete - загрузилось, именно та страница которую запрашивали. то что там она в процессе построения документа еще что то догружает неважно. страница загрузилась.
DocumentComplete - сформирован документ, все предварительные, для этого нужные догрузки сделаны. изменения по событиям например, перестройка внутри страницы по например нажатию на что-то, без смены url-а (Ajax)не считается. (если считать то некоторые вообще никогда не сформируются ибо динамические по сути)
← →
ухты © (2015-08-06 14:34) [7]события только инструмент, исходить надо от задачи
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.04.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c