首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iframe会在quirks模式下呈现吗?

iframe会在quirks模式下呈现吗?
EN

Stack Overflow用户
提问于 2010-09-15 21:16:09
回答 3查看 23.9K关注 0票数 11

我正在设置一个页面,但在浏览器(实际上只是IE,因为它可以正确呈现mozilla和webkit)上看起来很困难。在认真考虑自IE6修复旧的IE错误之前,我想排除怪癖模式。容器页面有一个声明的doctype,但是iframe代码没有。iframe内容是以quirks-mode (因为它没有doctype)还是标准模式(因为容器有doctype)呈现?源代码遵循这样的方案:

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
...
<body>
...
<iframe ...>
    <html>
    <head>
    ...
    </head>
    <body>
    ....
    </body>
    </html>
</iframe>
...
</body>
</html>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-15 21:58:09

买入者警告

不幸的是,一些人没有注意到,这个答案在IE9出现之前很长一段时间就已经发布和接受了,这改变了问题的条款。我通常会删除它,以避免获得更多的负面投票,但由于答案实际上仍然是正确的,不幸的是,与相当大一部分浏览器人口统计相关,我将把它留下来。请不要再贬低它了。

Quirksmode: IE将iframe呈现为单独的文档节点,不继承doctype,默认为quirks。

编辑:别人对你的问题的demonstration和非继承性的证明(感谢我的书签:P )

但是,您选择了“几乎”作为您的doctype,这意味着iframe无论如何都是不允许的。获取有效iframe的唯一方法是如果父对象处于怪癖中,这使得继承或不是一个有意义的点。

Recommended reading

票数 15
EN

Stack Overflow用户

发布于 2011-04-12 00:22:57

在IE9之前,iframe中的网页将根据它自己的文档类型呈现,而不是根据父容器的文档类型呈现。然而,在IE9中,微软改变了行为,以致于子iframe从父容器继承其文档类型/呈现。

请注意,无论何时使用兼容性视图,IE9仍将以传统方式运行(iframe遵循其自己的文档类型)。

对于遇到这种情况的人来说,最好的变通办法是在您的doctype和父页面的开始标记之间添加以下两个元标记之一:编写符合标准的容器页面,但需要包含一个带有怪癖模式页面的iframe。

代码语言:javascript
复制
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<meta http-equiv="X-UA-Compatible" content="IE=8" />

这些标记本质上会告诉IE9假装它是IE7或IE8。包括在仿真中的是用于确定子iframe的呈现模式的逻辑。此解决方法的缺点是,您将无法在父页面中使用IE9支持的任何新功能,但这可能比在子页面中出现大量呈现错误更可取。

有关详细信息,请参阅http://web.archive.org/web/20110905060718/http://www.sitepoint.com/forums/html-xhtml-52/ie9-iframes-doctypes-you-743000.html

票数 23
EN

Stack Overflow用户

发布于 2013-03-22 13:47:09

请在此处查看我对MSDN记录的IE9解决方案的回答:How to force Iframe to run quirks under a standard parent frame

简而言之,如果父页面以IE9模式呈现,则不可能在iframe中触发quirks模式,但它可以触发嵌入在IE9呈现引擎中的"quirks模式仿真“

JSBin演示:http://jsbin.com/ozejuk/1/

进一步阅读:http://msdn.microsoft.com/en-us/library/gg558056(v=vs.85).aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3717932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档