カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

application/xhtml+xmlなページでdocument.writeを動作させる #2

概要: application/xhtml+xmlなページでdocument.writeを動作させるスクリプトを書き直した。


document.write(document.writeln)をapplication/xhtml+xmlなページで動作させる、 はてぶでホッテントリにもならなかったスクリプトを、 色々無駄があったところを削って使いやすくしました。

document.write.2.js

使い方も前のと変わって、

<script type="text/javascript" src="./foo.js">
// document.writeかwritelnを使うスクリプト
</script>
<script type="text/javascript" src="./bar.js">
// document.writeかwritelnを使うスクリプト
</script>
<!--
    上記みたいにdocument.writeかwritelnを
    使うスクリプト要素をすべて書く
-->
<!-- 一番最後にdocument.writeかwritelnを余分に動作させる -->
<script type="text/javascript">
    document.write();
</script>

こんな感じに。

あと、前のスクリプトが、すべてのdocument.write(ln)?が使用された後に要素を追加していたのに対し、 今回はスクリプトが切り替わるたびに、要素を出力するようにしました。 ちなみにInternet Explorerに関係するコードは削ったのでInternet Explorerでは動きません。

で、書き直してる最中に思ったんだけど、document.write(ln)?使ってるスクリプトって、 大体XHTML的に正しくなかったり、非推奨な要素使ってる場合が多いので、結構微妙。 あとIE関係のコード削除したのは、そもそもIEはapplication/xhtml+xmlに対応してないため。

とりあえず、これで使いやすくなったはず。ただ、さっきも書いた通りdocument.write(ln)?で出力されるHTMLは、 XHTMLとしては微妙なものが多い(気がする)ので、あんまり使い道無いかも。

まあ、どうぞお使いください、と言っておきます。