「スタイルシートチェンジャー」で はてなスタイルを切り替え可能に

シェアする

はてなスタイルを切り替え

まだまだ続くよはてなネタ! ──ええ、意外としつこい性格です。

亜細亜ノ蛾 のトップページから、デザインを切り替えることができるようにしました(2006-11-27T23:46:59+09:00 現在)。ガチャガチャ遊んでみてり、ソースコードをのぞいたり、どうぞ。

ちなみに、変わるのはトップページだけです……。

スタイルシートチェンジャー

今回はスタイルシートチェンジャーでMovableTypeのスキンを変更を参考にして、スタイルシートチェンジャーを導入しました。

ちょっとハマったのが、PHP スクリプトの設置位置。MT とは別のディレクトリにアップロードしたのですが、正常に動作しない。さんざん悩んで、やっと解決しました。

クッキーの有効範囲

「スタイルシートチェンジャー」はクッキーを利用して切り替えたスタイルを記憶します。その、クッキーの特性をよく判っていないのが原因でした。

クッキーの有効範囲について

クッキーは、CSS選択に指定した setstyle.php のあるディレクトリをルートとして、下位ディレクトリすべてが有効範囲になります。

スタイルシートチェンジャー

これ、知らない人は延々とハマるなぁ……。

たとえば、このブログのトップページは http://asiamoth.com/mt/ なので、この場所(かルートディレクトリ)に置かないと、正常に動作しません。

「あなた」のブログのトップページが http://example.com/ だった場合、この場所以外にスクリプトを置いても動作しない(クッキーが有効ではない)わけです。

もの凄く初歩的な知識ですが、いまのうちに知ることができてラッキィ!

コメント

  1. oscar より:

    Firefoxだと切り替え効かないみたいだけどなんでしょう?
    元サイトの方はちゃんと動作しますねぇ。
    というか、読み込みが終わらない・・・

  2. asiamoth より:

    おっと、動きませんか……。自分の環境で IE6、IE7(stand-alone)、Opera9、Firefox2 と動作確認しましたが、Firefox くんだけ上手く動いてくれませんね。ただ、自分の環境では「再読込」で切り替わります。
    おそらく、下記 URLに書いてある「Mozilla Firefox のキャッシュの動作」が関係してくるのかなー、と。
    http://labs.cybozu.co.jp/blog/kazuho/archives/2006/02/utilizing_cache.php
    Last-Modified の返し方を UA に応じて変えると、上手くいきそうですが……(言うは易し)。
    それはそれとして、oscar さんの場合は、カリッカリにチューンした Firefox でクッキーとかリファラとかいじってませんか? と想像します。