为什么这在所有浏览器中都有效 - 除了 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 中的 head/body 仍然为空。
请参阅原始版本的小提琴(document.write):http://jsfiddle.net/jasonday/Tx4Uv/ http://jsfiddle.net/jasonday/Tx4Uv/
和更新尝试使用的小提琴.append
代替.write
:
http://jsfiddle.net/jasonday/Tx4Uv/4/ http://jsfiddle.net/jasonday/Tx4Uv/4/
Fixed.
我添加了一个setTimeout
2ms 允许 iframe 在附加到 head 和 body 之前完全渲染(主要针对 IE)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)