Netscape6.1は、CSS規則の読み出し、書き込み、書き込んだ後の読み出し、すべてうまく行った。
ただ、p{ border:1px solid #000 }
という規則を追加し、cssTextプロパティ (英語)を見てみると、
p{ border-top-width:1px; border-top-style:solid; border-top-color:#000; border-right-width:1px; border-right:style:solid; border-right:color:#000; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#000; border-left-width:1px; border-left-style:solid; border-left-color:#000; }
こんな感じに一つ一つの宣言がばらばらになって返って来る(実際には改行されていない)。なんだかCSSエディタを作る気が少し萎えてしまった。これを省略形に再変換するプログラムは私には書けないし、書く気力もない。というか、CSSを書くのさえ面倒臭くて適当にエディタを作ってみようと思った人間が、そんな困難に立ち向かえるわけがない。
私が欲しいのは、CSSの規則を書いた直後にそれが視覚的に反映されて、最後に出来上がったCSSを出力してくれるソフト。Document Object Modelを使わないと不可能だと思う。しかしCSSエディタと呼ばれるフリーソフトは私の知る限り「規則を簡単に書ける」というものばかり。リファレンス片手に……という人ならともかく、CSSを弄り倒した人ならマウスを使ってプロパティを選択している間に、規則そのものを2,3個書けてしまいそう。
追加した規則を、document.styleSheets
オブジェクトから読み出そうとしたのが間違いだった。input要素か何かに入力した規則を一つにまとめてしまえば良かっただけだよ……。それならIEでも十分可能。