2

IE を除くすべてのブラウザーでこれが機能するのはなぜですか。

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

ただし、jquery 以外のオブジェクトを document.write で使用すると、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/

.append代わりに使用する更新された試みのフィドル.writehttp://jsfiddle.net/jasonday/Tx4Uv/4/

4

1 に答える 1

2

修理済み。

setTimeout頭と体に追加する前に、iframeが完全にレンダリングできるように(主にIE用)2msを追加しました。

于 2012-11-12T03:30:14.370 に答える