Warum muss einer auf sich selbst verweisenden iframe nicht unendlich-Schleife und Absturz meiner Maschine?
Habe ich eine einfache HTML-Seite mit einer iframe
deren src
Attribut verweist auf die mit Seite-in anderen Worten, eine auf sich selbst verweisende iframe.
this.html
<html>
<head></head>
<body>
<iframe src="this.html"></iframe>
</body>
</html>
Warum ist das nicht eine unendlich-Schleife und Absturz meines Browsers? Auch, warum nicht auch IE-Absturz an?
(Hinweis: Dieser erzeugt aus einer team-Diskussion über die Vorzüge und Nachteile der Verwendung von iframes, um Probleme zu lösen. Wissen Sie, der "Spiegel der Spiegel' sort.)
- Food for thought, das war tatsächlich angesprochen, irgendwann (1999?) aber ich Frage mich, was die Begründung war? bugzilla.mozilla.org/show_bug.cgi?id=8065
- Dies wird bereits hier diskutiert: stackoverflow.com/questions/5763508/iframe-to-infinity In kurzen, Browser schränkt iframe verschachtelt.
- Ihr code war in der Lage zu brechen eine Sache, nachdem alle. Meine devtools: dl.dropbox.com/u/8989748/devtools_broken.png . Ich hoffe Sie sind jetzt glücklich 🙁
- 1000 Punkte für "warum nicht auch IE-Absturz an?"
Du musst angemeldet sein, um einen Kommentar abzugeben.
W3C passte auf, dass im Jahr 1997 zu erklären, wie frames umgesetzt werden sollten "Umsetzung von HTML-Frames":
Iframe Rekursion Fehler/Angriff der Geschichte
Als kingdago herausgefunden und erwähnt in dem Kommentar oben, ein browser, der verpasst zu implementieren, ein Schutz für diese war Mozilla in 1999. Zitat von einem der Entwickler:
Habe ich beschlossen zu Graben, einige mehr in diese und es stellt sich heraus, dass in 2004 dies geschah wieder. Dieses mal jedoch JavaScript beteiligt war:
Dann wieder in 2008 mit Firefox 2 (dazu gehörte auch JavaScript).
Und wieder in 2009. Hier der interessante Teil ist, dass dieser bug ist noch offen und diese Anlage:
https://bugzilla.mozilla.org/attachment.cgi?id=414035
(will Sie zurückhalten, Ihre Neugier?) immer noch Absturz/einfrieren von Firefox (habe es gerade getestet und ich fast stürzte die ganze Ubuntu). In Chrom es ist nur Lasten auf unbestimmte Zeit (wahrscheinlich, weil jeder Reiter lebt in einem separaten Prozess).Als für die anderen Browser:
frame.src = 'http://0.0.0.0:9922/index.html?' + new Date().getTime()
Ich möchte noch hinzufügen, ein wenig etwas, um die "Auch, warum nicht auch IE-Absturz an?" Teil der Frage. Also nicht lassen Sie uns unten...
Wenn Sie fügen Sie eine einfache iteration Nummer als query-string an den verschachtelten iFrame-src Firefox und andere einfach stoppen nach einer bestimmten iteration die Tiefe. IE - und wir testeten diese mit IE version 10 - nur Abstürze 🙂
this.php