オブジェクト要素(type = "text / html")内でdocument.open/write/closeシーケンスを呼び出そうとしました。Safari / Chromeでは、contentDocument属性によって内部ドキュメントオブジェクトを取得できます。サンプルコード(jqueryを使用):
$(document).ready(function() {
var container = $('<object/>')
.css({'width': '700px', 'height': '100px', 'border': '0px none'})
.attr({'type': 'text/html'}).appendTo('body');
var doc = container.get(0).contentDocument;
doc.open();
doc.write('<h1>Hello world!</h1>');
doc.close();
});
他のブラウザで同じことをする方法はありますか?
このような奇妙なことをしたい理由は、DOMが閉じられた後にdocument.writeを含む外部スクリプトを呼び出す必要があるためです。私はすでにiframeを扱ってみましたが、InternetExplorerとOperaのバグのために失敗しました。この目標を達成するための他の方法は高く評価されます。