jquery动态iframe - !document.write和IE问题

时间:2012-11-10 00:55:47

标签: jquery internet-explorer iframe append document.write

为什么这适用于所有浏览器 - IE除外:

var $iframe = $("<iframe name=" + strFrameName +"/>");
var $doc = $iframe.contents();
$doc.find("head").append("<link type='text/css' rel='stylesheet' href='" + opt.loadCSS + "'>");

但是,如果我在document.write中使用非jquery对象,它在IE中可以正常工作吗?

var $iframe = $("<iframe name=" + strFrameName +"/>");
var doc = $iframe[0].contentWindow.document;
doc.write("<link type='text/css' rel='stylesheet' href='" + opt.loadCSS + "'>");

我重写了一个插件,并希望重写它以便它不会使用document.write

但是,现在iframe已经创建了,但是IE中的头部/主体仍然是空的。

查看原始版本的小提琴(document.write): http://jsfiddle.net/jasonday/Tx4Uv/

更新了尝试使用.append代替.write的小提琴: http://jsfiddle.net/jasonday/Tx4Uv/4/

1 个答案:

答案 0 :(得分:2)

固定。

我添加了{2}的setTimeout以允许iframe在追加到头部和身体之前完全渲染(主要用于IE)。