Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi webbrowser - popupblocker (https://www.delphipraxis.net/40944-webbrowser-popupblocker.html)

Gentleman 23. Feb 2005 17:19


webbrowser - popupblocker
 
Hi!

Ich habe ein kleines Problem mit meinem Popupblocker.

Im OnNewWindow2-Event (TWebbrowser) setze ich Cancel auf True, um Popups zu Blocken. Jetzt möchte ich, dass wenn ich auf einen Button klicke das Popup was geblockt wurde angezeigt wird. wie kann ich das ansellen? Hoffe ihr könnt mir da weiterhelfen.

Delphi-Quellcode:
procedure TForm1.BrowserNewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  if Blocking then
    begin
      Cancel := True;
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //geblocktes Popup anzeigen
end;
thx im Voraus!

Dj_Base 23. Feb 2005 17:32

Re: webbrowser - popupblocker
 
Ich würde die Url nochmal laden.
Delphi-Quellcode:
WebBrowser1.Refresh;
Und Dann die Eigenschaft Cancel auf false setzen...
Delphi-Quellcode:
Cancel := false;
Wo du die Befehle jetzt genau einsetzt, musst du ausprobieren...

mfg,
Dj_Base

Gentleman 23. Feb 2005 17:59

Re: webbrowser - popupblocker
 
Mir Webbrowser.Refresh lade ich ja nur die Seite neu. Das ist aber nicht mein Ziel.

nach mal, falls ich mich etwas unklar ausgedrückt habe:
Ich unterdrücke, dass sich automatisch ein Fenster öffnet und ein Button wird Sichtbar. Jetzt möchte ich, dass wenn ich auf diesen Button klicke, das Fenster, welches ich unterdrückt habe doch geöffnet wird.

scp 23. Feb 2005 18:13

Re: webbrowser - popupblocker
 
Durch das neuladen der Seite wird doch das Popup erneut ausgelöst und da du zu diesem Zeitpunkt Cancel auf false gesetzt hast, zeigt er es auch an.

toms 23. Feb 2005 18:21

Re: webbrowser - popupblocker
 
Delphi-Quellcode:
procedure TForm1.BrowserNewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  if Blocking then
    begin
      Cancel := True;
    end;
end;
So lässt sich aber auch kein neues Fenster öffnen!?

scp 23. Feb 2005 18:25

Re: webbrowser - popupblocker
 
Zitat:

Zitat von toms
So lässt sich aber auch kein neues Fenster öffnen!?

Wie meinst du das? Muss man auch eine Instanz von TForm1 erzeugen und den IDispatch des darauf befindlichen Browsers an ppDisp übergeben?

Gentleman 23. Feb 2005 19:14

Re: webbrowser - popupblocker
 
Zitat:

Durch das neuladen der Seite wird doch das Popup erneut ausgelöst und da du zu diesem Zeitpunkt Cancel auf false gesetzt hast, zeigt er es auch an.
Das stimmt, aber es gibt auch Popups, die nicht direkt beim Start angezeigt werden. Für die würde es dann nicht funktionieren.

Zitat:

So lässt sich aber auch kein neues Fenster öffnen!?
Also bei mir funktioniert das prima :stupid:

toms 23. Feb 2005 19:16

Re: webbrowser - popupblocker
 
Wenn ja Blocking auf True ist blockt es jedes neu geöffnetes Fenster.
Egal ob es sich um ein Popup handelt oder eines vom Benutzer neu geöffnetes Fenster
(Rechte Maustaste, in neuem Fenster öffnen)


Delphi-Quellcode:
if Blocking then
    begin
      Cancel := True;
    end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz