Operaで動的にグローバルなスタイルを変更する

サンプルページ(Opera専用、別ウインドウで開く)

OperaはstyleSheetsオブジェクト等、スタイルシートを直接弄れるプロパティが存在しないので、グローバルなスタイルを変更するのは、既存のcssファイルを追加する以外は不可能だった(ハズ)。

そこで、動的に変更したいスタイルをデータスキームに変換してcssファイルとして追加することで、動的にスタイルを変更させてみた。

欠点は現在の値を読み取れないこと。別途適当なオブジェクトを作成して、追加する度にそのオブジェクトにも反映させるなどして、自分で見るしかない。また、追加しまくるとどんどんメモリを食うと思うので、適当なところで一旦削除する必要があると思われる。

Opera9見てると、そのうちdocument.styleSheetsが追加されそうな雰囲気だが、まあそれまでの一時しのぎってことで。