Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.034 c
1-1118397636
A№t0№
2005-06-10 14:00
2005.07.11
Три первых символа из RichEdit


1-1118093186
Lenka
2005-06-07 01:26
2005.07.11
перемещение обектов


4-1116172367
seregka
2005-05-15 19:52
2005.07.11
Добавление программы в popup меню Windows


3-1117277252
Киря
2005-05-28 14:47
2005.07.11
Как сделать поиск в базе данных как в ACCESS е?


1-1119481020
TrueCoder
2005-06-23 02:57
2005.07.11
VerticalScrollBar в TListBox всегда