Comment annuler l'ouverture d'un popup avec le TWebBrowser ?

[Résolu]
Signaler
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007
-
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007
-
Salut à tous,
Voila je voudrais savoir comment on peut annuler l'ouverture d'un popup avec le TWebBrowser ?
Donc je connais déjà cette source :

Code:
,
----

procedure TMyForm.MyWebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
Cancel := True;
end;
C’est vraiment bien comme source mais quand tu veux ouvrir une autre fenêtre de la page ça ne marche pas car tu annule l'ouverture de toute les page même celle qui ne sont pas de pupup's.
Quelqu'un à une autre méthode ?
Merci d’avance.

Mon Site Web : http://Www.BenXbox.Fr.sT

7 réponses

Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

J'ai trouver ce bout de code qui marche mais sa créer des TabSheet, et moi il faut juste virer le popup : <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;


  var ppDisp: IDispatch; var Cancel: WordBool);


begin


  memo1.Lines.add('WebBrowser1NewWindow2');


  TabSheet := TTabSheet.Create(Owner);


  TabSheet.PageControl := PageControl1;


  Webbrowser2 := TCustomBrowser.Create(Owner);


  TWinControl(Webbrowser2).Parent := TabSheet;


  with Webbrowser2 Do


  begin


    Align := AlClient;


    ppDisp := WebBrowser2.Application;


    OnBeforeNavigate2     := WebBrowser1.OnBeforeNavigate2;


    OnCommandStateChange  := WebBrowser1.OnCommandStateChange;


    OnDocumentComplete    := WebBrowser1.OnDocumentComplete;


    OnDownloadBegin       := WebBrowser1.OnDownloadBegin;


    OnDownloadComplete    := WebBrowser1.OnDownloadComplete;


    OnDragDrop            := WebBrowser1.OnDragDrop;


    OnDragOver            := WebBrowser1.OnDragOver;


    OnEndDrag             := WebBrowser1.OnEndDrag;


    OnEnter               := WebBrowser1.OnEnter;


    OnExit                := WebBrowser1.OnExit;


    OnFullScreen          := WebBrowser1.OnFullScreen;


    OnMenuBar             := WebBrowser1.OnMenuBar;


    OnNavigateComplete2   := WebBrowser1.OnNavigateComplete2;


    OnNewWindow2          := WebBrowser1.OnNewWindow2;


    OnProgressChange      := WebBrowser1.OnProgressChange;


    OnPropertyChange      := WebBrowser1.OnPropertyChange;


    OnQuit                := WebBrowser1.OnQuit;


    OnStartDrag           := WebBrowser1.OnStartDrag;


    OnStatusBar           := WebBrowser1.OnStatusBar;


    OnStatusTextChange    := WebBrowser1.OnStatusTextChange;


    OnTheaterMode         := WebBrowser1.OnTheaterMode;


    OnToolBar             := WebBrowser1.OnToolBar;


    OnVisible             := WebBrowser1.OnVisible;


  end;


  PageControl1.ActivePageIndex := PageControl1.PageCount - 1;


end;



Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Salut jmp77,
Déjà merci d'avoir chercher pour m'aider.
Sinon le premier lien à aucun rapport avec ce que je recherche, pour le deuxiemme liens c'est pas ce que je recherche aussi, car cette source ne bloque pas les popups mais les ouvres dans une autre page.


Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Non c'est pas du tout ce que je recherche, mais merci comme meme.

Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
Perso j'ai trouvé ça :



procedure TForm1.BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;, ----
var Cancel: WordBool);, ----
begin, ----
if KillPopUps then ppDisp:=BrowserDummy;, ----
end;



le KillPopups peut etre une Checkbox cochée ou non. le BrowserDummy surement un TWebBrowser posé sur un panel caché ? a voir !
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Ta trouver ou cette source parce que j'ai pas les var de KillPopUps et BrowserDummy pour essayer.

Mon Site Web : http://Www.BenXbox.Fr.sT
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
j'ai dit :

"le KillPopups peut etre une Checkbox cochée ou non. le BrowserDummy surement un TWebBrowser posé sur un panel caché ? a voir !"



donc KillPopups est une var booleenne qui contient la valeur de la cache cochée, tu peux aussi faire :




procedure TForm1.BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
, ----
var Cancel: WordBool);
, ----
begin, ----
if CheckBox1.Checked then ppDisp:=WebBrowser2;

, ----
end;



WebBrowser2 est un TWebBrowser posé sur un TPanel, et le TPanel a sa prop. "visible" sur False;



voila tu as tes reponses
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Oui mais non c'est le meme probleme que :

Code:
,
----

procedure TMyForm.MyWebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
Cancel := True;
end;
C’est vraiment bien comme source mais quand tu veux ouvrir une autre fenêtre de la page ça ne marche pas car tu annule l'ouverture de toute les page même celle qui ne sont pas de pupup's.


Mon Site Web : http://Www.BenXbox.Fr.sT