Главная страница
    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.47 MB
Время: 0.035 c
14-1118832825
Ega23
2005-06-15 14:53
2005.07.11
Программистские песни


14-1118385912
syte_ser78
2005-06-10 10:45
2005.07.11
Задачка придуманая мной.


1-1118472025
klass
2005-06-11 10:40
2005.07.11
Как устовить плноценный сервис Service Application ?


1-1117615963
Griffon
2005-06-01 12:52
2005.07.11
Как записать массив в память


1-1118326818
Juice
2005-06-09 18:20
2005.07.11
Microsoft Outlook не закрывается





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский