Cox Cafe

XperiaやMVNOの情報など

格安SIMを使いませんか?

IIJmio使う人は紹介コード「694 8329 6496 4226」を使うか、 こちらから是非どうぞ。
2ヶ月間高速データ量が10%増量されます。

JavascriptでCSSを切り替える

会社のWebサイトに、CSSの切り替えをワンクリックで出来るようにするJavascriptを付けようと思いました。
調べてみるとstyleswitcher.jsというのが有名らしく、早速導入。

"styleswitcher.js"をダウンロードして自分のサーバーにアップロードし、ゴニョゴニョとやるだけで完了するとてもシンプルで簡単なものです。
解説はこちらのblogが良いです。

順調に進み、「さあ、動作確認だ」というときになって、アウト。
文字サイズを変更するCSSを用意していたのですが、ボタンをクリックしても文字サイズが変わりません。

おかしい・・・。
念のためにIE6とOpera 8.5で確認したところ、正常に動作するではないですか。Firefoxだけ動きません。

私のFirefoxの設定が悪いのかと思いましたが、上記の解説blogのやつを始め、他にも同じJavascriptを導入しているWebサイトでは正常に動作します。

それから数時間かけて何とかならないものかと奮闘しましたが、所詮Javascriptの知識は皆無なので原因がわかりません。

そんなとき、Mozilla系では動かないからこっちを使えみたいなblogのコメントを発見。
これだっ、と意気込んで導入してみたところ、見事に動きました。

おっしゃー! と喜んだのもつかの間、クッキーが生きていないらしく、別ページに移動するとCSSが元に戻ってしまって何の意味もありませんでした。
他のWebサイトではデフォルトのJavascriptなのにFirefoxでも動き、ちゃんとクッキーも生きているので別ページへ行っても問題ないというのに。

さらに、Mozilla系でも動くというJavascriptはSafariでは動きませんでしたorz

結局このJavascriptでの導入は断念し、他のものを探しました。
ハイパーリンク式が私の理想だったのですが、他に見あたらなかったのでプルダウン式のもので使い勝手が良さそうなものを。

CSS Selecting Scriptというやつが簡単に出来そうだったし、ここのアクセス解析を利用させていただいているのでここのを使うことに決めました。

気を取り直して早速ダウンロードし、ゴニョゴニョとやったら簡単に一丁上がり。
Firefox、Opera、IE、Safariで正常に動作することを確認。

結局これだけのために4時間くらい潰してしまいました。アホらし・・・。

2006年5月8日15:30追記

reaさんの助言により、Firefoxでも動くようになったのでメモ。

導入手順は最初に書いたとおり、配布元からダウンロードして自分のサーバーにアップロードし、解説blogにあるようにゴニョゴニョやるだけ。

しかしそれだけでは"ある条件"が重なるとFirefoxでは動作しません。
"ある条件"とは、Webページの<head></head>内のlink要素にrel属性以外のものが混じっているとダメというもの。

つまり、<link rev="made" href="mailto:xxx@xxx.xx" />などが混じっているとダメなのです。

このことに気づかず、何時間も費やしてしまった・・・。

ad

-主要エントリー