将内容为HTML4的<iframe>添加到HTML5网页时是否存在冲突?</iframe>

时间:2011-11-03 09:18:10

标签: javascript html5 iframe html4

我想将一个来自HTML 4的<iframe>添加到HTML 5网页中。 这样做时我是否应该注意任何JavaScript或DOM冲突?

由于文档的来源类型不同,浏览器在遇到某些特殊情况时是否会遇到任何错误?

3 个答案:

答案 0 :(得分:3)

完全没有,您可以将iframe视为当前页面中打开的浏览器窗口。 如果浏览器能够在普通标签上正确呈现HTML4页面,那么iframe也没有问题(但有一些限制与HTML4 / 5无关)。

答案 1 :(得分:1)

不,假设两个页面都有<!DOCTYPE>,则不会有任何冲突。事实上,浏览器甚至不区分HTML 4和HTML 5。

更具体地说,如果没有DOCTYPE,页面将以怪癖模式呈现,这可能会导致几个主要差异。例如,在Internet Explorer中,页面将由较旧的引擎实现呈现,从而产生多个DOM和JS(以及布局差异)。如果你使用JS来操纵另一个框架中的一个框架,那么有可能某些东西不能像你期望的那样工作 - 就像在标准模式下那样。

TLDR;使用<!DOCTYPE>

答案 2 :(得分:0)

对于IE,它具有不同的呈现和JS支持,具体取决于doctype,如果框架页面位于同一个域上并且HTML5父级调用框架页面中元素的方法,则可用的方法将仅限于旧的东西。例如,addEventListener()可能无法在框架页面中的窗口,文档和元素上使用。

因此,仅仅因为HTML5页面支持所有类型的新内容,这并不意味着您可以使用其环境在非HTML5框架页面中的对象上调用这些函数。