So deaktivieren Sie Iframes in Browsern

8930
Danield

Ich verwende derzeit Chrome 27.

Nachdem ich die Einstellungsoptionen ( Einstellungen → Datenschutz → Inhaltseinstellungen) durchgesehen habe, sehe ich, dass ich so gut wie alles deaktivieren kann, außer Iframes.

Gibt es eine einfache Möglichkeit, dies zu tun? Ist das auch in IE und Firefox möglich?

2
Warum sollten Sie iframes deaktivieren? gronostaj vor 11 Jahren 0
Es gibt eine bestimmte Website, die nützliche Inhalte für mich enthält, jedoch enthält der iframe-Inhalt / die Werbung Inhalte, die ich nicht sehen möchte. Ich brauche das also nur vorübergehend. Danield vor 11 Jahren 0
Sie möchten also tatsächlich Iframes auf einer bestimmten Site blockieren? gronostaj vor 11 Jahren 0
na ja, vielleicht ein paar seiten Danield vor 11 Jahren 0
Sie sollten dazu einen AdBlock-Filter erstellen können. gronostaj vor 11 Jahren 0
hmmm ich habe die adblock-erweiterung nicht installiert ... wenn es keine andere möglichkeit gibt, probiere ich das aus Danield vor 11 Jahren 0
Seltsamerweise gibt es integrierte Optionen, um Bilder, Plugins (wie Flash) usw. zu blockieren. Warum nicht Iframes - die im Allgemeinen mit Anzeigen in Verbindung gebracht werden und manchmal ziemlich ärgerlich sind Danield vor 11 Jahren 1

2 Antworten auf die Frage

2
Danield

Ich habe am Ende die Erweiterung "stylish" verwendet

Sie können bestimmte URLs als Ziel angeben und benutzerdefinierte Stile für diese Website hinzufügen.

Hier ist ein Beitrag im Stack-Überlauf, der dies veranschaulicht.

In meinem Fall fügte ich die folgende benutzerdefinierte CSS für die bestimmte Website hinzu, die ich anvisieren musste

iframe { display: none; } 

... und es funktioniert super!

Was ist der Sinn dabei? Das Javascript in iframes wird weiterhin ausgeführt. kinokijuf vor 11 Jahren 2
Wie ich in den Kommentaren zu der Frage erwähnt habe, möchte ich nur den Inhalt der Iframes auf einer bestimmten Website ausblenden. Hier geht es nicht um Sicherheit Danield vor 11 Jahren 4
Das hat keinen Sinn kinokijuf vor 11 Jahren 0
Es ist in der Tat nützlich, um den iframe zu verstecken. Danke für die Lösung. acsadam0404 vor 10 Jahren 4
Der Punkt ist, wenn ein hässlicher iframe den Hauptinhalt einer schlecht gestalteten Website überlappt. Stellen Sie nicht die Nützlichkeit in Frage, nur dass es eine Person gibt, die es braucht! Vijay vor 9 Jahren 1
2
haelmic

Entfernen Sie einfach alle Elemente, die mit JavaScript direkt in der Konsole sind

oder installieren Sie ein Plugin für eine dauerhaftere Lösung wie: noscript

Temporäre Korrektur

Eine Linie:

(function()catch(e)})(); 

Dadurch werden die Iframes auf der Seite endgültig entfernt. (bis die Seite aktualisiert wird)

Um dies live zu nutzen

  • Konsole öffnen ( F12Schlüssel)
  • Navigieren Sie zur Registerkarte "Konsole"
  • fügen Sie die eine Zeile oder den menschlichen Code in das ein

    > 

    Feld und drücken Sie Enter

Menschlicher Code:

(function(){ var listOfFrames = document.getElementsByTagName("iframe");  while (listOfFrames /*exists*/ && (listOfFrames.length > 0) ) { try { for (var iterator in listOfFrames) { listOfFrames[iterator] // get the next frame .parentNode // find the parent  .removeChild( listOfFrames[iterator] ); // remove the frame from the parent } }catch(e){ // we found a frame that no longer exists console.error(e); } var listOfFrames =  document.getElementsByTagName("iframe"); // update the list regardless of errors in case we missed one } // loop again unless the condition is satisfied })(); // end of call of the function 

Bevor Sie dies versuchen

Wenn Sie das Verhalten Ihres Browsers in Bezug auf Schleifen und das Entfernen von Elementen nicht kennen, stellen Sie sicher, dass alles lokal oder auf dem Server gespeichert ist, bevor Sie beginnen. Das Ausführen des Codes kann Ihre Arbeit entfernen . Stellen Sie sicher, dass es Ihnen gut geht, wenn Ihr Browser abstürzt .

Ich habe das editiert, weil ich nicht dachte, es wäre lesbar, hoffentlich ist es besser.

Nebenbemerkung: Ich würde erwarten, dass der Befehl 'try ... catch' um den Parameter 'f [i] .parentNode .removeChild (f [i]) `läuft, um sicherzustellen, dass andere immer noch gelöscht werden. Arjan vor 7 Jahren 0
Danke für Ihre Eingabe @Arjan. Ich füge meiner Antwort eine Verbesserung hinzu, die etwas besser funktioniert. haelmic vor 7 Jahren 0