kin*_*ngo 51 html iframe firefox internet-explorer google-chrome
我创建了一个简单的HTML页面,iframe其src属性引用了包含页面 - 换句话说,是一个自引用iframe.
this.html
<html>
<head></head>
<body>
<iframe src="this.html"></iframe>
</body>
</html>
为什么这不会无限循环并崩溃我的浏览器?另外,为什么连IE都不会崩溃?
(注意:这是由团队讨论使用iframe解决问题的优点和缺点产生的.你知道,'镜像镜像'排序.)
Kon*_*nel 76
W3C在1997年解决了这个问题,解释了如何在" 实现HTML框架 "中实现框架:
尝试将其任何祖先使用的URL指定为其SRC的任何帧都被视为根本没有SRC URL(基本上是空白帧).
作为kingdago发现了,在上面的评论中提及,错过实现此一保障一个浏览器是Mozilla的在1999年.引用其中一位开发人员:
这是一个奇偶校验错误(以及可能的尴尬的来源),因为MSIE5对这些类型的页面没有问题.
我决定再挖掘一下这个,结果发现在2004年又发生了这种情况.但是,这次涉及JavaScript:
这是代码,原因是:<iframe name ="productcatalog"id ="productcatalog"src ="page2.htm"> </ iframe>后面紧跟着一个脚本:frames.productcatalog.location.replace (frames.productcatalog.location + location.hash);
...
实际结果:父窗口以递归方式加载到iframe中,有时会导致崩溃.
预期结果:只需在Internet Explorer中显示即可.
然后在2008年再次使用Firefox 2(这也涉及JavaScript).
并再次在2009年.这里有趣的部分是这个bug 仍然是开放的,这个附件:( https://bugzilla.mozilla.org/attachment.cgi?id=414035你会抑制你的好奇吗?)仍然会崩溃/冻结你的Firefox(我刚测试它,我几乎崩溃了整个Ubuntu).在Chrome中,它只是无限加载(可能是因为每个标签位于一个单独的进程中).
至于其他浏览器:
C.O*_*.O. 32
我想在"另外,为什么IE甚至没有崩溃?"中添加一些内容.部分问题.IE不会让我们失望......
如果您将一个简单的迭代编号作为查询字符串添加到嵌套的iFrame的src Firefox中,其他人将在某个迭代深度后停止.IE - 我们用IE 10测试了这个 - 只是崩溃了:)
this.php
<html>
<head></head>
<body>
<iframe src="this.php?q=<?php echo (isset($_GET['q'])?$_GET['q']:1)+1?>" />
</body>
</html>