ユーザが用意された複数のスタイル(デザイン)のうち1つを選び、 それをサイト全体に適用させる CGI スクリプトです。 Cookie と外部CSSファイルを利用することによって実現しています。
また、 CSS の実装がヘボいブラウザへの対策機能もあります。 特定のブラウザに対し、 CSSを読み込まないようにしたり、 デフォルトで読み込ませるCSSを設定することができます。
娘娘飯店しるきぃうぇぶ で配布されている あれこれポップアップ の適用状態も指定できます。 あれこれポップアップ設置の詳細は左記ページをご覧下さい。
WWW サーバが以下の条件を全て満たしている必要があります。 一つでも当てはまらない場合、 このスクリプトを埋め込むことができません。
クライアント側が cookie が利用可能になっていないと、 デフォルトのスタイル以外選択してもスタイルが変わりません。 また、これは CSS 選択スクリプトなので、 CSSに対応していない環境に対しては意味がありません (もっとも、 そのための構造と見栄えの分離なんですが)。
「あれこれポップアップ」の使用条件は、 配布ページをご参照下さい。
無料であり、 改造自由であり、 無断転載可能ですが、 全く無保証かつ無サポートです。
でも、 お使い頂けるなら事後にでも教えてくれると喜びます。
なお、 当ページでは「あれこれポップアップ」を配布しておりません。 「あれこれポップアップ」に関する諸権利は、 作者のありみかさとみ氏が所有します。
ダウンロードした後、 ファイルの拡張子を .txt から .cgi に変更します。
nostyle はスクリプトの予約語なので、 この名前の CSSファイル("nostyle.css")は利用できません。
"getstyle.cgi" のカスタマイズ"putstyle.cgi" のカスタマイズスタイルを選択させるドロップダウンメニューを HTML 文書中に書き加えます。 必ずしも「トップページ」である必要はなく、 全ページにこのフォームを記述してしまってもいいです。
<form action="http://www.foo.ne.jp/~baa/cgi/getstyle.cgi"
method="get">
<hr />
<fieldset>
<legend>サイトのデザイン変更</legend>
<table summary="">
<tbody>
<tr>
<th><label
for="mainstyle">基本スタイル:</label></th>
<td>
<select name="mainstyle" id="mainstyle">
<option
value="">No Change</option>
<option
value="light">Light Style</option>
<option
value="Default">Default Style</option>
<option
value="nostyle">Nostyle</option>
</select>
</td>
</tr>
<tr>
<th><label
for="ArekorePopup">「あれこれポップアップ」:</label></th>
<td>
<select name="ArekorePopup" id="ArekorePopup">
<option
value="">No Change</option>
<option
value="rich">Rich Style</option>
<option
value="standard">Standard Style</option>
<option
value="nostyle">Nostyle</option>
</select</td>
</tr>
<tr>
<th><label for="expires">cookieの削除:</label></th>
<td><input
type="checkbox"
name="expires"
id="expires"
value="del" /></td>
</tr>
<tr>
<th></th>
<td><input
type="hidden"
name="confirm"
value="pass" /><input
type="submit"
value="適用" /></td>
</tr>
</tbody>
</table>
</fieldset>
</form>
form 要素の action 属性値に "getstyle.cgi"
へのパスを記述します。
上記 <input type="hidden" name="confirm" value="pass" /> の部分がないと、フォームの内容送信時に確認画面が出ます。
getstyle.cgi と putstyle.cgi とを、
WWWサーバの適当なディレクトリに置き、 パーミッションを 755 等、
不特定多数の人間に「読み込み」と「実行」が可能な状態にします。
選択された CSS を読み込ませたい各ページに SSI を埋め込みます。
もちろん cgi="" の内容は putstyle.cgi
へのパスです。
<head> (略) <!--#exec cgi="/~baa/cgi/putstyle.cgi"--> (略) </head>
"getstyle.cgi" の機能"getstyle.cgi" は QUERY_STRINGを読み込むので、
フォーム以外からも
http://www.foo.ne.jp/~baa/cgi/getstyle.cgi?mainstyle=light
のような URLでスタイル選択情報を渡すことが可能です。
"getstyle.cgi" にスタイル選択情報を渡した時、
ユーザが送信したページを CGIが判別できればそのページに、
判別できなかったり他サイトから渡されたような場合、
あるいは利用者が Refererを変更した時に、 万一それが
getstyle.cgiになってしまった時は、
デフォルトの飛び先 に、
それぞれリダイレクトします。
getstyle.cgiputstyle.cgigetstyle.cgiputstyle.cgigetstyle.cgiputstyle.cgigetstyle.cgiputstyle.cgi忘れた。