COM Internet Explorer Adressfilterung Adblock



  • Gibt es eine Möglichkeit (COM-Schnittstelle) mit der man beim Intenet Explorer Url-Anfragen à la www.example.org/dangerous.js ins nichts umleiten bzw. abbrechen kann? Wollte sowas ähnliches wie AdBlock IE programmiern, jedoch gefällt mir das Konzept nicht.

    Vor allem diese Zeile:

    _webBrowser.DownloadComplete += new DWebBrowserEvents2_DownloadCompleteEventHandler(Filter);
    

    Das bedeutet doch, dass erst nachdem die Webseite komplett geladen wurde, diese gefiltert wird.
    Und in er Zeit könnte doch schon das eine oder andere .js- , flash- Tracking-Pixel geladen worden sein, oder wird erst nach DownloadComplete angefangen zusätzliche Dateien zu laden und zu Scripte auszuführen? Leider habe ich zu dem Auslösezeitpunkt von diesem Ereignis keine genauen Angaben finden können.

    Die Ereignisse DWebBrowserEvents2::Navigate* und DWebBrowserEvents2::Download* werden doch soweit ich sehen konnte nur dann ausgelößt, wenn die HTMl-Datei schon heruntergeladen wurde.

    Vielen Dank im voraus.



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum WinAPI in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    ich habe vor leider schon etwas längerer Zeit (deswegen kann ich nur noch in etwa wieder geben, wie sich das ganze verhält) eine Toolbar für den IE entwickelt, bei der ich ähnliches realisieren musste. Ich nutzte das DWebBrowserEvents2::BeforeNavigate2-Ereignis, das für jeden Einzel-Request innerhalb eines HTML-Dokuments ausgelöst wird, die URL bekommst du so mit übergeben vor dem Navigationsvorgang. Dort greift auch eine Stop-Methode, um die aktuelle Navigation abzubrechen, um eventuell sogar mit der Navigate-Methode eine andere URL anzusteuern.

    Inwieweit die anderen Ereignisse brauchbar sind, kann ich nicht sagen, weil noch nicht eingesetzt.

    MfG,

    Probe-Nutzer



  • Hab' mal ein bisschen probiert, konnte aber mit DWebBrowserEvents2::BeforeNavigate2 leider keine Einzel-Requests (also Anfragen für Bilder, Stylesheets, o.ä.) abfangen sondern nur "Adressleisteneingaben". Muss ich da irgendetwas spezielles einstellen oder gibt es noch Alternativen?



  • Da lag ich dann wohl falsch, aber ich musste damals irgendeine Vorkehrung treffen bei BeforeNavigate2 , denn ich benötigte den umgekehrten Fall, nur der "Adressleisten-Request" durfte berücksichtigt werden, aber trotzdem wurde BeforeNavigate2 mit anderen Requests aufgerufen, da bin ich sicher, und es waren keine Frames (da wäre das noch erklärbar), und da ich es mir nicht erklären konnte und Zeitdruck war, habe ich das recht grob behandelt, ohne näher zu analysieren. Ich habe jetzt etwas recherchiert, weil mich das jetzt interessiert hat, und es sieht tatsächlich schlecht aus, um mit den offen gelegten Ereignissen dein Vorhaben umzusetzen. Den Beitrag findest du hier:

    http://groups.google.com/group/microsoft.public.inetsdk.programming.mshtml_hosting/browse_thread/thread/8e881e342e0d5f35/1be6f1c3440037c?q=PassThruAPP

    Dort wird auch eine Alternative genannt (MIME-Filter)

    MfG,

    Probe-Nutzer


Anmelden zum Antworten