document.writeハックに関するメモ

document.writeを完全なDOM対応にするためのメモ。

で、あとはテキストからDOMを構築する方法が分かれば、document.writeを元々の動作を失わせること無く、DOMに完全対応させることができる。

スクリプトの処理の流れをまとめると、

  1. スクリプト自体が属するscript要素を取得
  2. document.writeを書き換え、そのスクリプトのdocument.writeで書き出されるHTMLテキストを取得
  3. HTMLテキストからDOMを構築する
  4. スクリプト要素が切り替わる、もしくはすべてのdocument.writeが実行され終わった後に生成したDOMノードを追加する

という感じ。

以上のような感じで、document.write(もしくはdocument.writeln)を書き換えると、MIME-Typeapplication/xhtml+xmlなページでdocument.writeが使えるようになる。(XHTML2でも多分使える?)

と思うんだけど、僕だと書けそうにない。

Text2DOMはすでにあったりするような気がするんだけど、どうも他のライブラリ群のなかのひとつみたいだったので、そのまま使うのはちょっと問題があったようななかったような。

まあでも、application/xhtml+xmlなページでdocument.writeが使えるようになるという夢のようなスクリプトまで、あとちょっとなので、誰かやってくれないかなぁ。

追記:2006-12-07T16:20:00+09:00

とりあえず他人任せはアレなので途中まで書いた。

が、肝心のテキストからDOMを生成する部分ができてないので、動きません(ちなみにテストもしてない)。どこかにないかなぁ。

コードはパブリック・ドメインなので、改造は自由です。といいつつも、コードが微妙なので、あんまり参考にはならないかも。

nyarlaが大体

Scrapbox でコメントや意見を書く