Frage

Auf meinem Computer, ich bin mit einem benutzerdefinierten adblock basierend auf HOSTS Umleitung (so kann ich adblock in Chrome). Ich bin mit IIS auf meinem Rechner, so hat ich einen benutzerdefinierten leeren 404-Fehler, der angezeigt wird, wenn eine iframe basierte Anzeige auf einer Seite angezeigt wird.

Ich habe meinen Fehler 404 verändern die Hintergrundfarbe von seinen Eltern zu erben, so dass die Anzeige mit einem nicht-weißen Hintergrund auf Websites nicht anstößig betrachten. Meine nächste Herausforderung ist es meine 404-Seite zu verwenden, vollständig iframe kollabieren, so dass es überhaupt nicht auf der Seite nicht angezeigt.

Ist es möglich, die enthält <iframe /> Tag von innerhalb des iframe zu verändern? Ich möchte nur die Höhe ändern und Breite Attribute, wenn dies möglich ist. Wenn ja, wie würde ich mich über dies zu tun?

War es hilfreich?

Lösung

Sollte nicht möglich sein, da Standorte innerhalb iframes können externe Seite sein. So dass sie die Umwelt sie angezeigt zu manipulieren wäre ein Browser Sicherheitsrisiko sein.

Sie würden besser dran, einen Werbeblocker Proxy verwenden.

Andere Tipps

Wenn ich Sie richtig verstehe, Sie sagen, Sie Ihre 404-Seite wollen einen Zusammenbruch des iframe auszulösen, wenn es im Inneren lädt. Der einfachste Weg, dies zu tun, ist eine Funktion in der übergeordneten Seite zu erstellen, und es dann von den 404 anrufen, wenn es geladen wird.

Zum Beispiel, wenn Ihre iframe die id „advertFrame“ hat man die folgende JavaScript-Funktion der übergeordneten Seite hinzufügen könnte:

function hideAdvertFrame() {
  var advertFrame = document.getElementById("advertFrame");
  advertFrame.style.height = 0;
  advertFrame.style.width = 0;
}

Dann in der 404-Seite können Sie die Funktion sofort anrufen, wenn es geladen wird:

<body onload="window.parent.hideAdvertFrame();">

Das heißt, ich glaube, Sie noch andere Optionen außer Kreuzrahmen Scripting vielleicht zu prüfen, die Sicherheitslücken weniger anfällig sind. Vielleicht können Sie Ihre übergeordnete Seite AJAX verwenden, um zu überprüfen, ob die adblock eine gültige URL haben, bevor es geladen wird, und dann dynamisch hinzufügen auf die Seite einmal sicher.

Die Seite, die das iframe füllt kann nichts über die Seite ändern, dass der iframe enthält. Wenn sie könnte, dann wäre es ein enormes Sicherheitsrisiko sein. Um sicher zu sein, habe ich versucht, genau das, was Sie fragen die beiden Domänen verwenden, die ich in der Schule gegeben habe. Einfach gesagt, es hat nicht funktioniert; Ich habe eine Erlaubnis verweigert Fehler in Firebug.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top