- 締切済み
掲示板などのCGIにおけるスタイルシートの記述方法
IE5.5からは、スクロールバーの色も変更できるようになりましたよね。 それで、ぜひ掲示板等のCGIもバーの色を変更したいのですが、記述方法がわかりません。 HTMLの方は・・・ body { scrollbar-3dlight-color:#79A2C6; scrollbar-arrow-color:#79A2C6; scrollbar-base-color:#E1EAF2; scrollbar-darkshadow-color:#ffffff; scrollbar-face-color:#E1EAF2; scrollbar-highlight-color:#ffffff; scrollbar-shadow-color:#79A2C6 } と、こんな感じで書いてるんですが、これをCGIのスクリプトの中に記述する場合、どのように変更すればいいのでしょうか・・・。 上記のソースをそのままスクリプトの中の該当個所にコピペしたらエラーが出てしまいました。 CGIに関しては、初心者というわけではありませんが配付されている物を借りてきてちょっといじれる程度です。 いろいろ自分でも調べては見たんですがまったく方法がわからずだるまさん状態(手も足も出ない)なので、わかる方、いらっしゃいましたら教えて頂けないでしょうか・・・。 宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- kazu-kun
- ベストアンサー率31% (72/232)
Perlのエラーなら、サーバーのほうにエラーログが出ている可能性がありますが、チェックしてみましたか?(プロバイダの設定によります。)
- inoue64
- ベストアンサー率29% (334/1115)
・最初の行の、 #!/nantoka/perl の部分を ホームページサービスから指定されたPerlのパスに設定しましたか? ・CGIとデータファイルの属性(パーミッション)を設定しましたか?
- callhiro
- ベストアンサー率35% (54/152)
(1)$style = <<"HTML"; でも動きますのでそれが直接の原因ではないと思います。 (2)とりあえず、「-->と</style>の間の行」ではなく「-->よりも前(<!--よりは後ね)」に書いてください。 →これはただのhtmlの話なのでCGIエラーになるとは思えないので解決にならない気がしますが。 (3)あとはAsciiモードで送信してるかどうか確認してください。 →コピペする前は動いてましたか? 以上です。
- duckling
- ベストアンサー率47% (88/185)
誤 $style = <<"HTML"; 正 $style = <<HTML; ↑クォートは要りません。
お礼
おはようございます。 早い時間に回答ありがとうございます。 言われたとおりに直してみたんですが、やっぱりエラー・・・。(>_<) CGIの作者の方に聞くのが一番早い道なんでしょうか。
- callhiro
- ベストアンサー率35% (54/152)
CGIでブラウザにhtmlを出力する方法は、 通常のhtmlであれJavaScriptであれスタイルシートであれ、 何も方法は変わりません。 ただ単にprint文で出力するだけです。 「コピペ」という言葉がエラーの原因に思えますが、 そのままコピペっていったいどこにコピペしたんですか? print文の全くないところにコピペしたんですか? 通常htmlを出力する際は、一文一文 print"html出力したい文字"; の様に記述するのが普通なので、ご質問のスタイルシートも一行ごとに print "body{\n" の様に書いていかなければなりません。 もっと楽な方法としては、 print <<"HTML"; body { scrollbar-3dlight-color:#79A2C6; scrollbar-arrow-color:#79A2C6; scrollbar-base-color:#E1EAF2; scrollbar-darkshadow-color:#ffffff; scrollbar-face-color:#E1EAF2; scrollbar-highlight-color:#ffffff; scrollbar-shadow-color:#79A2C6 } HTML としてやれば大丈夫です。 適切な箇所にこの文を書けばちゃんと有効になるはずだと思います。
補足
回答ありがとうございます。 今回、私が使おうと思ってDLしてきた掲示板用のCGIは、もともとリンクの設定やらテキストエリアの枠の設定やらでスタイルシートが使われていたのです。 だからスクリプトの中に $style = <<"HTML"; <style type="text/css"> <!-- body,td {color : $text_color; font-size : 13px; } a:link {color : $link_color; text-decoration : none; } a:visited {color : $vlink_color; text-decoration : none; } a:active {color : $alink_color; text-decoration : none; } a:hover {color : $alink_color; text-decoration : underline overline blink; background-color : $table_border} input,textarea { border-left:1px solid $input_border; border-right:1px solid $input_border; border-top:1px solid $input_border; border-bottom:1px solid $input_border; background-color : #ffffff; color : $input_color; } .button {border-left:1px double $input_border; border-right:1px double $input_border; border-top:1px double $input_border; border-bottom:1px double $input_border; background-color : $input_border; color : #999999; } hr {color : $hr} --> </style> HTML こんな感じでスタイルシートの設定がされていたので、-->と</style>の間の行に、質問欄に書いたソースを入れてみたんですが、エラーが出てしまいました。 何が間違っているんでしょうか・・・。
補足
おはようございます。 朝早くに回答ありがとうございます。 (2)ANo.#1での補足で私が書き間違っていました。 ソースを入れたのは、hr {color : $hr}と-->の間です。 $style = <<HTML; <style type="text/css"> <!-- body,td {color : $text_color; font-size : 13px; } a:link {color : $link_color; text-decoration : none; } a:visited {color : $vlink_color; text-decoration : none; } a:active {color : $alink_color; text-decoration : none; } a:hover {color : $alink_color; text-decoration : underline overline blink; background-color : $table_border} input,textarea { border-left:1px solid $input_border; border-right:1px solid $input_border; border-top:1px solid $input_border; border-bottom:1px solid $input_border; background-color : #ffffff; color : $input_color; } .button {border-left:1px double $input_border; border-right:1px double $input_border; border-top:1px double $input_border; border-bottom:1px double $input_border; background-color : $input_border; color : #999999; } hr {color : $hr} body { scrollbar-3dlight-color:#79A2C6; scrollbar-arrow-color:#79A2C6; scrollbar-base-color:#E1EAF2; scrollbar-darkshadow-color:#ffffff; scrollbar-face-color:#E1EAF2; scrollbar-highlight-color:#ffffff; scrollbar-shadow-color:#79A2C6 } --> </style> HTML こんな感じの記述で間違ってないでしょうか。 (3)ファイルのアップロードはFFFTPを使っています。 いつもは「ファイル名で転送モード切替」なんですが、念の為アスキーモードにして転送してみたんですが、やっぱり動きませんでした。 スクロールバーの設定部分をコピペする前は正常に動いてました。 だからやっぱりこの部分の記述方法に問題がある、ということですよねぇ。 うむむ・・・。 知りもせんくせに無謀なことに挑戦してしまった私がいけないんでしょうか・・・。(泣)