我刚想到并制作了一个带有指向同一页面的iframe的html页面。所以,它应该有一种无限循环。但是,事实并非如此。那么任何人都可以解释输出吗?
test.html
<iframe width="600" height="500" src="http://localhost/test.html"></iframe>
Hello World!
答案 0 :(得分:1)
浏览器并不愚蠢。它们可以防止这种情况发生,否则您的计算机将崩溃(内存不足)。
答案 1 :(得分:0)
对我来说,IE9和Firefox(最新版)都显示空框架,Chrome显示框架为“Hello World!”同样。
所以我会说IE9和Firefox(意思是Trident和Gecko引擎)只是忽略引用自己的框架,将它们视为无效(虽然我找不到任何警告),而Chrome(意思是WebKit引擎)只解析一次,避免以最优雅的方式进行无限循环。
答案 2 :(得分:0)
我也想到了这个!我做了一个演示:http://blog.falcondai.com/2012/09/infinite-iframe-demo.html
现代浏览器具有基于url的循环检测,但它可以通过稍微更改url并在服务器端返回相同的内容来轻松解决。拥有最多10个嵌套框架的硬限制的Firefox可以抵御这种滥用。