为什么这适用于所有浏览器 - 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/
答案 0 :(得分:2)
固定。
我添加了{2}的setTimeout
以允许iframe在追加到头部和身体之前完全渲染(主要用于IE)。