Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизВыскакивающие окна iexplorera Найти похожие ветки
← →
Opilki_Inside © (2005-04-07 15:32) [0]Иногда при загрузке страницы почему-то появляется окно интернет эксплорера о том что страницу невозможно загрузить... причем событие OnNewWindow обрабатываю нормально... такая ситуация происходит не всегда...
← →
Rouse_ © (2005-04-07 22:41) [1]Код в студию (Navigate и обработчики событий браузера)
← →
Opilki_Inside © (2005-04-08 10:52) [2]
var
URL: WideString;
begin
...
url := "http://yandex.ru/";
WB.Silent := true;
WB.OnDocumentComplete:=WB1DocumentComplete;
WB.OnNewWindow2:=WB1NewWindow2;
WB.OnBeforeNavigate2 := EmbeddedWB1BeforeNavigate2;
WB.Width := Width;
WB.Height := Height;
WB.Visible := true;
WB.ParentWindow := Handle;
currentFrame := nil;
wb.Navigate(URL);
FURL := url;
repeat
Application.HandleMessage;
until (loadCompleted) or (GetTickCount-beginTime > dm.loadPageTimeOut) or (not TimeOut.Enabled);
wb.Stop;
...
end;
...procedure TfGetLinks.wb1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
var
url: wideString;
begin
//флешка
if (wf <> nil) and (lockPopupWindow) then
begin
addlog("Новое окное для флешки");
ppDisp := wf.FWB.Application;
end else
//pop up window!
begin
ppDisp := WBpopUp.Application;
addlog("Обнаружено POPUP окно: "+TWebBrowser(Sender).LocationURL);
end;
end;
т.е. в любом случае я передаю всплывающие окно одному из браузеров. почему может происходить "вылет" этой страницы в iexplorer?procedure TfGetLinks.wb1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
curWebBrowser, topWebBrowser: IWebBrowser2;
w, h, i, j: Integer;
fName: string;
begin
curWebBrowser := pDisp as IWebBrowser2;
topWebBrowser := (Sender as TWebBrowser).DefaultInterface;
if curWebBrowser = topWebBrowser then
begin
//Документ полностью загружен!
//начинаем анализировать
loadCompleted := true;
if not isFrameScan then
localURL := TEmbeddedWB( sender).LocationURL;
TEmbeddedWB(sender).Stop;
addLog("Загрузка страницы "+url+" завершина");
w := trunc(TEmbeddedWB(sender).OleObject.Document.Body.ScrollWidth);
h := trunc(TEmbeddedWB(sender).OleObject.Document.Body.ScrollHeight*1.04);
TEmbeddedWB(sender).Height := h;
TEmbeddedWB(sender).Width := w;
try
ScanAllLinks(WB.DefaultInterface, pDisp);
finishScan := true;
isFrameScan := true;
for i := 1 to wb.FrameCount-1 do
begin
currentFrame := nil;
for j := 0 to linkList.GetFrameObjectCount-1 do
begin
if (linkList.GetFrameObject(j).src = TEmbeddedWB(sender).GetFrame(i).LocationURL) then
begin
currentFrame := linkList.GetFrameObject(j);
if (TEmbeddedWB(sender).GetFrame(i).Application <> nil) then
begin
addlog("Анализируем фрейм: ""+currentFrame.src+""");
ScanAllLinks(TEmbeddedWB(sender).GetFrame(i), TEmbeddedWB(sender).GetFrame(i).Application);;
end;
end;
end;
end;
isFrameScan := false;
except
on e: exception do
addLog("Ошибка при анализе фрейма: "+e.Message,2);
end;
FinishScan := true;
end;
end;procedure TfGetLinks.EmbeddedWB1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if loadCompleted then
begin
if (wf <> nil) and (lockPopupWindow) then
begin
wf.FWB.Navigate(URL);
end;
Cancel := true;
end;
end;
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.044 c