概要: document.write及びdocument.writelnを、Firefox、Opera 等で完全な DOM 仕様にしました。
document.writeやdocument.writelnを使った Javascript を、
MIME-Typeがapplication/xhtml+xmlなページで動作させることができる夢のようなスクリプトが出来上がりました。
ダウンロード : - document.write.js
ライセンスは MIT-License です。
とりあえず、WindowsXP 上の
で動作することを確認しました。
たぶんですが、
でも動くかもしれません。
使い方は、document.write(document.writeln)が使われる前に、上記のスクリプトを読み込み、すべてのdocument.write(document.writeln)が使用された後に
document.write.run();
を呼び出せばいいです。
ちなみにテストが不十分なので条件によってはうまく動かないかもしれません。
追記:2006-12-16T10:44:00
実例がないのはアレなので、サンプルを作りました。
appliation/xhtml+xmlをサポートしているブラウザでなら見れます。IE6(=Internet Explorer 6)とかだと、多分ダウンロードになります。
手ごろなスクリプトが trackfeed しか無かったので、それしか使ってませんが、MIME-Typeがappliation/xhtml+xmlなページできちんと動作しています。
あと若干上のスクリプトを修正しています。
追記終了
以下作りあげるまでの経緯。
Javascript の XML Parser(HTML Parser)探していたところ、 XML.ObjTree というのを発見した。
んでコード見てみると、ブラウザの独自拡張使って XML をパースしていて、「これならいける」と思い、試しにやってみたところtext2domが実装できたので、完成した、という感じ。
ブラウザによって動かないのは独自拡張使ってるせいで、XML のパースは XML.ObjTree とあんまり変わりないので、多分 XML.ObjTree が動くブラウザであれば、今回のスクリプトも動く。
IE6(=Internet Explorer 6)で動かなかったりするんだけど、そもそも IE6 ではMIME-Typeがapplication/xhtml+xmlだと表示できなかったはずなので、特には問題にはならないはず。
ただ、そのまま使うには、問題があったりなかったりするので、各自工夫して使ってください。