AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Webbrowser Popupblocker
Thema durchsuchen
Ansicht
Themen-Optionen

Webbrowser Popupblocker

Ein Thema von toms · begonnen am 30. Jan 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#1

Webbrowser Popupblocker

  Alt 30. Jan 2005, 09:57
Hi,

Suche theoretische Ansätze für einen Popupblocker für TWebbrowser.

Hat jemand Ideen?



PS: Habe schon meine eigenen Ideen möchte aber mal schauen, ob ihr das gleiche machen
würdet, ohne dass ihr diese wisst....
Thomas
  Mit Zitat antworten Zitat
ehem. Benutzer
(Gast)

n/a Beiträge
 
#2

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 18:17
Also ich kenn mich sehr wenig mit der Kompo aus, aber theoretisch
würde es gehen wenn man die Befehle im Quelltext die zu einem PopUp fürhen blockt...

Irgendwie so



MfG
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 18:49
Zitat:
Also ich kenn mich sehr wenig mit der Kompo aus, aber theoretisch
würde es gehen wenn man die Befehle im Quelltext die zu einem PopUp fürhen blockt...
als ansatz wäre das nicht schlecht, allerdings wird man probleme bekommen, wenn der quelltext z.b. in php geschrieben ist. so ein blocker würde dann villeicht javascript-popups finden.

Ein weiteres problem ist, wie man das gefundene popupfenster auch wirklich blockt, sodass es nicht auftaucht.

ich denke da steckt ziemlich viel arbeit drin...
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 19:02
hi,

Delphi-Referenz durchsuchenTWebBrowser.OnNewWindow2 nennt sich das von dir benötigte event:

type TWebBrowserNewWindow2 = procedure(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool) of object; einfach cancel := true setzen und gut

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#5

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 19:08
Zitat:
als ansatz wäre das nicht schlecht, allerdings wird man probleme bekommen, wenn der quelltext z.b. in php geschrieben ist. so ein blocker würde dann villeicht javascript-popups finden.
Warum denn? Das PopUp wird auf jeden Fall mit Javascript gemacht. PHP läuft serverseitig und schickt dann die Daten (z.B. eine HTML-Seite) an den Client.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#6

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 19:11
wenn du das über TWebBrowser.OnNewWindow2 machst, blocks du aber auch allse seiten, welche durch einen link mit _blank geöffnet werden
sprich diejenigen, welche in einem neuen fenster gfeöffnet werden sollen (ich hab deswegen in meinem downloadmanager ne message in der die seite, welche geöffnet werden soll, angezeigt wird und halt die abfrage ob öffnen oder net)
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 19:12
Zitat von Tubos:
Das PopUp wird auf jeden Fall mit Javascript gemacht.
oder per target="_blank". das ist reinstes HTML
aber mein oben geposteter beitrag kann auch dem abhilfe schaffen.

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

Re: Webbrowser Popupblocker

  Alt 30. Jan 2005, 23:24
Danke fuer die Ideen!

Mein Ansatz ist der folgende:
Ein neues Fenster wird nur geoeffnet, wenn ReadyState des Webbrowsers READYSTATE_COMPLETE ist,
d.h das Dokument fertig geladen ist.

Wie findet ihr diese Idee?
Was fuer Tuecken hat dieser Code? (Mal schauen, ob Ihr's herausfindet... ...)

Delphi-Quellcode:
procedure TfrmMultiDocBrowser.OnNewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
    if (Sender as TEmbeddedWB).ReadyState <> READYSTATE_COMPLETE then
    begin
      ppDisp := nil;
      Cancel := True;
    end;
end;
Thomas
  Mit Zitat antworten Zitat
quizzmaster

Registriert seit: 25. Jan 2005
Ort: Frankfurt am Main
29 Beiträge
 
#9

Re: Webbrowser Popupblocker

  Alt 1. Feb 2005, 14:23
warum überhaupt noch ppDisp := nil ??

Das kannste ruhig weglassen, wenn du cancel := true machst blockt er eh alles
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Webbrowser Popupblocker

  Alt 1. Feb 2005, 18:07
ich habs nich testen können, aber wenn du cancel auf true stellst, dann kannst du doch keine weiteren seiten öffnen. das heißt, du musst das ganze auch wieder auf false stellen, damit der webbrowser weiterläuft.

die frage ist nur wann cancel wieder auf false stellen?
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz