PDA

Vollständige Version anzeigen : popups unterdrücken


Ravel
07.07.2001, 14:44
wie kann ich im webbrowser popups unterdrücken?
ich habe schon in vielen foren gefragt, aber noch keine gescheite antwort bekommen, vielleicht bekomme ich ja hier hilfe.
r a v e l

Stefan Kulpa
07.07.2001, 15:22
<font face="Verdana" size="2">Nun, programmiermäßig ist dies mit VB wohl nur schwer oder gar nicht zu schaffen (allerdings fragst Du ja auch nicht nach einem "VB"-Weg?).
Ansonsten kann ich Dir nur entsprechende Tools empfehlen, wie beispielsweise <a href="http://www.webwasher.com/de/products/wwash/download.htm" target="_blank">WebWasher</a> (Freeware für den privaten Nutzer).

Stefan</font>

Ravel
07.07.2001, 18:00
mit der cancel-funktion klappts zwar, aber da gibts ja immer diesem blöden scriptfehler.
also mein ziel ist es, eine website unsichtbar zu öffnen, was mit dem webbrowser ja wunderbar klappt, nur diese popups nerven. da es nicht meine page ist, kann ich auch kein javascript nehmen um sie rauszunehmen und da das programm für alle da sein soll, kann ich auch keine veränderungen am browser vornehmen.
ich habe schon das web-transfer-control benutzt und openurl "blabla" gemacht, aber das funktioniert nicht, ich habe einen counter ins web gesetzt, mitdem ich das immer teste, aber mit openurl wird kein besuch gezählt
kennt ihr vielleicht eine andere möglichkeit einen seitenbesuch zu simulieren, OHNE das sich popups öffnen? -vielleicht irgendwie über winsock?
r a v e l

Stefan Kulpa
07.07.2001, 18:40
<font face="Verdana" size="2">OK, da wir uns ja hier im VB-Forum befinden, vielleicht noch eine Alternative.
Es besteht die Möglichkeit, via API einen Download durchzuführen und diese Datei dann im Browser-Control darzustellen. Zu Popups dürfte es dabei nicht kommen, allerdings müßte man ausprobieren, wie es mit Specials wie Frames etc. aussieht.

HTH</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: Überarbeitung, durch den Wechsel der Forensoftware zum 01.01.2003 verursacht: in diesem Beitrag Link(s) korrigiert.
jinx – 10.07.2003</font>

Ravel
07.07.2001, 20:02
also ich bin noch ziemlich vb-neuling und steig da nicht ganz durch den code durch, kannst du mir das mal erklären, oder die stellen raussuchen, die für mich wichtig sind?
vielen dank :)
r a v e l

Stefan Kulpa
08.07.2001, 05:44
<font face="Verdana" size="2">Zunächst benötigst Du das WebBrowser-Control (Microsoft Internet-Controls). Die API-Funktion ist hier nicht notwendig, da Du ja die Datei lediglich anzeigen und nicht parsen willst. Dann geht's wie folgt:</font>

<PRE><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Option</FONT> <FONT COLOR=#000080>Explicit</FONT>
<FONT COLOR=#808080><HR></FONT>
<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> Command1_Click()

<FONT COLOR=#000080>Dim</FONT> sSource <FONT COLOR=#000080>As String</FONT>
sSource = "http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=61007"
ctrWebBrowser.Navigate sSource

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080><HR></FONT>

<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> ctrWebBrowser_NewWindow2(ppDisp <FONT COLOR=#000080>As</FONT> Object, Cancel <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Boolean</FONT>)
<FONT COLOR=#008000>'** Neue Fenster - sprich PopUps - unterbinden</FONT>
Cancel = <FONT COLOR=#000080>True</FONT>
<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>

</FONT></PRE>

<font face="Verdana" size="2">Durch das Event ctrWebBrowser_NewWindow2 wird mitgeteilt, dass ein neues Fenster geöffnet werden soll (also ein Popup) - das wird durch Cancel = True unterbunden.

HTH</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: Überarbeitung, durch den Wechsel der Forensoftware zum 01.01.2003 verursacht: in diesem Beitrag Link(s) korrigiert.
jinx – 10.07.2003</font>

Ravel
08.07.2001, 11:06
danke für den tipp, aber:
mit der cancel-funktion klappts zwar, aber da gibts ja immer diesem blöden scriptfehler.

gibt es denn wirklich keine andere möglichkeit? -kann man denn nicht das popup in einen anderen webbrowser laden lassen?
r a v e l

Stefan Kulpa
08.07.2001, 17:11
<font face="Verdana" size="2">Ehrlich gesagt, weiss ich nicht, was Du eigentlich vorhast!
Du zitierst Dich selbst "mit der cancel-funktion klappts zwar, aber da gibts ja immer diesen blöden scriptfehler" - aber mit der vorgestellten Lösung gibt es keinen Skriptfehler.
Deine ursprüngliche Frage war "wie kann ich im webbrowser popups unterdrücken?"; jetzt sollen die "Popups in einem anderen Browser geladen werden ...??? Was denn nun? Und mit was willst Du das Ganze eigentlich realisieren (VB, Java ...)? Wenn es nur darum geht im IE die Popups auszuschalten, verweise ich auf den Tool-Tip weiter oben...

Stefan</font>

Ravel
08.07.2001, 17:49
hi
Ehrlich gesagt, weiss ich nicht, was Du eigentlich vorhast!

-ich will immernoch, dass mein programm keine popups mehr zeigt, unterdrücken, schließen oder unsichtbarmachen ist mir egal, hauptsache man sieht keine popups mehr!

Du zitierst Dich selbst "mit der cancel-funktion klappts zwar, aber da gibts ja immer diesen blöden scriptfehler" - aber mit der vorgestellten Lösung gibt es keinen Skriptfehler.

-probiers doch aus, es gibt einen scriptfehler bei seiten mit popups.

Deine ursprüngliche Frage war "wie kann ich im webbrowser popups unterdrücken?"; jetzt sollen die "Popups in einem anderen Browser geladen werden ...??? Was denn nun?

-einfach keine popups mehr! ob ich einen anderen browser laden und dann unsichtbar machen, oder schließen, oder unterdrücken, ist mir egal, hauptsache keine popups mehr!

Und mit was willst Du das Ganze eigentlich realisieren (VB, Java ...)?


-ich kann leider nur vb

Wenn es nur darum geht im IE die Popups auszuschalten, verweise ich auf den Tool-Tip weiter oben...

-ich weiß jetzt nicht, welchen tipp du meinst, aber ich möchte nicht, dass leute noch in ihrem browser rumpfuschen müssen, nur damit sie mein programm benutzen können.

ich hoffe, jetzt ist einiges klarer.
r a v e l

Stefan Kulpa
09.07.2001, 05:56
<font face="Verdana" size="2">Mein Lösungsansatz (mit dem Browser-Control - NICHT mit dem IE) brachte keine Popups und auch keine Skript-Fehler - vielleicht gibt's da je nach Site Unterschiede. Nenn mir mal ein paar Seiten, wo dies passiert, um das reproduzieren zu können.
Du sprichts (schreibst) immer noch von "anderen Browsern" - möchtest Du nun den IE (Netscape etc.) fernsteuern oder reicht es, wie in meinem Beispiel, Seiten einfach nur darzustellen? Wenn das (VB)Browser-Control zum Einsatz kommt, wird der installierte IE nicht aufgerufen und somit können alle Events recht einfach abgefangen werden (s. Code-Beispiel: ctrWebBrowser_NewWindow2...).
Das man in "seinem Browser rumpfuschen muss", haben wir wohl dem Hersteller zu verdanken - daran werden wir aber auch nichts ändern können ...

Stefan

P.S.: Mit dem Tipp meinte in den Link zum WebWasher</font>

Ravel
09.07.2001, 11:23
hi,
also mein code

Private Sub Form_Load()
WebBrowser1.Navigate "www.portaloflinks.de"
End Sub

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
End Sub

also 2 seiten mit popups www.hackercd.de (http://www.hackercd.de) www.PortalofLinks.de (http://www.PortalofLinks.de)

bei beiden klappts nicht.
r a v e l

Stefan Kulpa
09.07.2001, 17:36
<font face="Verdana" size="2">Tja, das ist Java live!
Die eigentliche Aufgabe ist eigentlich erfüllt. Wenn Du die Cancel-Anweisung deaktivierst werden tatsächlich PopUps angezeigt. Was hier nicht berücksichtigt werden kann, ist der Aufruf einer neuen Instanz des IE mit den Folgeseiten - das sind keine Popups (denn die werden tatsächlich gefiltert!).
Die Aufgabe wäre es also, das System nach sich öffnenden Instanzen des Default-Browsers zu untersuchen und dann diese Instanzen zu schließen - aber das schafft nicht mal ein Tool wie WebWasher ganz sauber. Mit VB-Mitteln sehe ich da kaum Möglichkeiten, außer mit hochkomplexen System-Hooks (permantentes Untersuchen nach neuen Fenstern des Standard-Browsers). Würde man dann fündig, könnte man versuchen, einen Schließen-Befehl abzusenden. Das würde aber für alle Instanzen gelten, auch wenn diese gewollt geöffnet sind.

Stefan</font>

Ravel
09.07.2001, 19:04
danke erstmal!du hast mir jetzt am meisten von allen geholfen und ich haben in 5 foren gefragt und keiner wußte eine antwort!- aber den tipp, der die geöffneten browserfenstern schließt, habe ich schonmal in einem anderen forum gesehen, da sagte mir einer, ich solle eine schleife machen, die immer wieder nach einem geöffnetem browserfenster sucht und dieses gegebenfalls schließt, um aber das richtige browserfenster zu schließen, müsste ich den "header" den browserfensters auslesen. hast du eine ahnung, wie ich das mache?
falls nicht, stecke ich meine ziele tiefer und suche auf diese frage eine antwort
{quote]
kennt ihr vielleicht eine andere möglichkeit einen seitenbesuch zu simulieren, OHNE das sich popups öffnen? -vielleicht irgendwie über winsock?
[/quote]

also nochmals danke
r a v e l

sarlt
10.07.2001, 00:17
Stefan schrieb:

Mit VB-Mitteln sehe ich da kaum Möglichkeiten, außer mit hochkomplexen System-Hooks (permantentes Untersuchen nach neuen Fenstern des Standard-Browsers).

Das hört sich gut an denke ich. Ich habe (glaube ich) von einem Programmierer so etwas mal gesehen. Das Programm analysiert das System startet dann eine Aufruf und macht dann wieder eine Analyse. Solange nicht mehrere Instanzen Deines Programmes laufen oder du nebenbei noch arbeiten willst sollte das evtl. Funktionieren.

Bitte antworte mir, ob du daran interesse hast. Ich würde dann versuche den Code auf zu treiben (BESCHAFFUNG NICHT GARANTIERT). Aber wenn du VB Neuling bist brauchst du sicher wieder Stefan um das zu verstehen.

(P.S. Im Gegenzug erwarte ich, das Du die Lösung natürlich hier postest)

Ravel
10.07.2001, 01:00
natürlich hab ich interesse!
danke im voraus
r a v e l