Ich versuche, Elemente auf einer Webseite zu blockieren, aber ich möchte das tun, bevor sie geladen werden. Also könnte ich zum Beispiel
verwenden chrome.webRequest.onBeforeRequest.addListener(...);
Und umleiten / stornieren Sie die Anfrage. Aber ich möchte den tatsächlichen Inhalt der Anfrage überprüfen. Was ich gerade mache, ist das Starten von XMLHttpRequest
, um die URL / das Objekt selbst zu laden, den Inhalt zu inspizieren und ihn gegebenenfalls zu blockieren.
Das Hauptproblem besteht jedoch darin, dass nicht viele Objekte blockiert werden. Das bedeutet, dass jedes Objekt zweimal geladen wird: einmal für "meine Inspektion" und einmal, nachdem ich gesagt habe "okay, Sie können es laden".
Wie kann ich den Ladevorgang abfangen, so dass ich ihn im laufenden Betrieb untersuchen und die Datenbytes weitergeben kann, wenn sie erlaubt sind?
Ich hoffe, Sie verstehen meine Frage, danke: -)
Beispiel wie ich es jetzt mache:
%Vor%Ich konnte erreichen, was ich versuchte. Die Lösung benötigt nicht unbedingt Erweiterungen, aber um einen Proxy einzurichten, kann dies nützlich sein. Danach ist die Lösung (für das oben angegebene Problem) wie folgt:
Ja, das ist nicht wirklich eine Lösung für das Problem, eine Chrome-Erweiterung irgendwie zu machen, aber es ist noch nicht möglich (siehe Ссылка ).
Mit freundlichen Grüßen, mutilis
Sie können ServiceWorker
verwenden, um das ursprüngliche Response
vor dem Zurückgeben des Inhalts von original Response
oder neuem Inhalt zu lesen.
%Vor%
plnkr Ссылка
Tags und Links javascript google-chrome block