在html中插入iframe的适当位置

时间:2015-02-15 17:13:41

标签: javascript html html5 dom iframe

我有一个动态创建的iframe元素。如果我不确定html中是否有正文标记,我应该在哪里添加这个iframe?我想把它作为像div这样的html标签的子项追加,我也必须动态创建它。但我需要在某处附加div。我再也不确定在哪附加div。

3 个答案:

答案 0 :(得分:0)

您必须将其插入正文标记中。因此,如果没有正文标记,只需在head元素后插入body标记,在body标记中插入iframe标记。

答案 1 :(得分:0)

我想你必须这样做。

检查body是否存在,如果不存在则创建它。

var dom = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html', null);
if(!document.body)
{
    var body = dom.createElement("body");
    body.innerHTML = "<iframe></iframe>";
    dom.firstChild.appendChild(body);
}
else
{
document.body.innerHTML = "<iframe></iframe>";
}

答案 2 :(得分:0)

您的问题似乎是询问如何容纳非标准HTML文档。如果您绝对必须,并且不能坚持文档提供者使其文档符合标准,我会检查body标记,如果存在,则附加到该标记。如果不可用,我会测试html元素并附加到该元素。除此之外,在这方面,我拒绝为另一方服务。

if (document.getElementsByTagName('body')) {
    ...
} else if {document.getElementsByTagName('html')) {
    ...
} else {
    console.log("We're sorry, but your document is poorly constructed 
      and we won't be serving you today.");
}