在 IE 中获取 html 的 iframe 内容未定义?

Posted

技术标签:

【中文标题】在 IE 中获取 html 的 iframe 内容未定义?【英文标题】:Iframe contents get html in IE is undefined? 【发布时间】:2015-06-17 16:41:26 【问题描述】:

我使用下面的代码创建了一个 iframe:

Ifrm = document.createElement("IFRAME");
document.body.appendChild(Ifrm);
IfrmBod = $(Ifrm).contents().find('body');
IfrmBod.append('<p>Test</p>');

附加 jquery 函数在 ie 中无法正常工作。 最后 当我使用IfrmBod.html() 时,它在 Chrome 中运行良好,但在 IE 中却不行。在 IE 中 IfrmBod.html() 未定义。

【问题讨论】:

在其他浏览器中运行良好吗? ***.com/questions/9527582/… 请不要将句子中的每个单词都大写。读起来很烦人 在 FF 和 Chrome 中工作正常! 您没有告诉我们您使用的是哪个版本的 IE 或什么文档类型;两者都可能相关。例如,如果您使用&lt;!DOCTYPE html&gt;(或其他导致边缘模式的文档类型),您可能会遇到该大写标记的解析问题。 【参考方案1】:

我已经通过 settimeout 解决了这个问题。

有没有更好的办法?

Ifrm = document.createElement("IFRAME");
Ifrm.style.width = "100%"; 
Ifrm.style.height ="100%"; 
document.body.appendChild(Ifrm);
setTimeout(function()
IfrmBod = $(Ifrm).contents().find('body'); 
...
,50);

【讨论】:

以上是关于在 IE 中获取 html 的 iframe 内容未定义?的主要内容,如果未能解决你的问题,请参考以下文章

如何在IE插件的子域中获取IFrame的页面源

使用 jQuery ColorBox 的 iFrame IE8

在 IE 中打印时 iframe 在底部切割

IE8以下版本iframe出现滚动条和内容空白问题

在动态 iframe 中注入表单时 IE 中的混合内容问题

在 IE10 iframe 中强制 IE8 仿真