Dies ist, was ich am Ende ging. Es ignoriert nur die nächste Weiterleitung, nachdem die Seite geladen wurde. Der Hauptnachteil dieser Methode besteht darin, dass, wenn der Rahmen seinen Framebuster niemals aufruft (z. B. weil er nicht richtig lädt, oder die gerahmte Site ihren Code ändert), dies die nächste versuchte Seitenbewegung stoppt. Eine mögliche Lösung wäre, sie nach dem Laden der Frameseiten auszuführen, aber direkt bevor ein Skript ausgeführt wird. Eine andere Lösung wäre, URL-Änderungen nur an die Basis-URL des umrahmten Hosts abzufangen. Ich habe keine Ahnung, ob das möglich ist, obwohl ...
function ignore_next_redirect() {
var redirect_timer;
var prevent_bust = 0
window.onbeforeunload = function() { prevent_bust++; }
redirect_timer = setInterval(function() {
if (prevent_bust > 0) {
window.top.location = 'http://example.org/204'
window.onbeforeunload = function() {}
clearInterval(redirect_timer);
}
}, 1);
}
Es ist immer noch Probleme hat - es scheint Laden des Inhalts zu stoppen, wenn es am Anfang der Seite passiert.
Ich weiß, eine Lösung ist irgendwo da draußen - google Bilder scheinen es funktioniert zu haben. Wird mit jedem Fortschritt aktualisiert ...
Das klingt wie böse Codierung! –
Hah. Nichts Böses - es ist eine Symbolleiste, die Social-Media-Sites anzeigt. Myspace verwendet einen Framebuster. – zaius
Wenn Myspace eine Beschränkung für Inhalte vorgenommen hat, würde ich annehmen, dass es ihnen nicht gefallen wird, wenn Sie eine Einschränkung "umgehen", die Sie kennen gelernt haben. Können Sie absolut sicher sein, dass die Einschränkungen der URL-Leiste unbeabsichtigt sind? –