- ベストアンサー
CSSの外部ファイル読み込み、他にも方法はある?
サーバーの設定で***.cssを読み込んでもテキストファイルとして認識してしまい。ネットスケープでcssが反映されないのです。(nn4.7/nn7で確認)この状態を改善したいのですが、全てのページにcssを埋め込んでいくとなると作業量が膨大になるため、別の方法を模索しています。 今は <link href="***.css" rel="stylesheet" type="text/css"> という形でやっています。 これを別の方法で解決したいのです。 例えば、javascriptを使用して読み込むなどです。 どなたか良い解決法をご存知でしたら 情報提供お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
あくまで私の体験談ですので参考になるかどうか…… 実は私のサイトでも,最近になって外部CSSを採用する事にしたのですが,ネスケ7.02ではなくFirefox1.5.0.2でCSSが反映されないと言う症状に陥りました。 頭が膿みそうになりながらいろいろGoogle検索した結果,どうも使用しているサーバソフトの仕様というか「バグ」である事を突き止めました。 具体的には,サーバソフトのMIMEタイプの設定では確かに「text/css」と出来るのですが,実際にクライアント側へは何故か「text/plain」として吐き出してしまうのです。 この問題を解決する為のスクリプトが配布されていたので、これをルートディレクトリに置いたところ、無事解決されました。 ということで、もしかしたらサーバソフトの問題である可能性も否定出来ません。 でもまさか、サーバでCSSのMIMEタイプを間違えている……なんて事は無いですよね? 念のため。 またMozilla系列のブラウザは、例え読み込んだCSSファイルに「.css」が付いていようとも,MIMEタイプが「text/plain」である場合,それを「額面通り」に解釈してしまう、すなわちCSSファイルをただのテキストデータの集合とみなし、CSSを反映させないことがままあるようです。 IEなどではきちんと拡張子「.css」で解釈し,反映させてくれるのですが。
その他の回答 (4)
- shhkmg
- ベストアンサー率28% (105/363)
さらに追記で申し訳ありません。 私の体験談は自宅サーバを開設している為のものです。 したがって、あなたのサイトを例えばプロバイダのHPスペースやレンタルサーバにて運用されているとすると,私の体験談は的外れなものになってしまうかもしれません。 ですが、もしかしたら、プロバイダやレンタルサーバ運営会社が、問題のあるサーバソフトを使っているか,あるいはMIMEタイプを単純に間違えている可能性も否定出来ません。 一度確認されてみては如何でしょうか。
- shhkmg
- ベストアンサー率28% (105/363)
追記です。 あなたのCSSファイルが果たしてどんなタイプのファイルとして吐き出されているかを調べるサイトのURLを貼っておきます。 http://web-sniffer.net/
- koutarou504
- ベストアンサー率44% (182/407)
>テキストファイルとして認識 何を以ってその様に判断されたのでしょうか? 「これはテキストファイルです」などというメッセージが出るとは思えないので何かしらの情報を得ているのですよね? その辺が解らないと「読み込む」という事を求める時に常にテキストファイルとして認識される訳(質問の前提がそう提示されている)ですので、CGIなどでHTMLファイルを編集という発想しか無理という事になりますが・・・。 CGIで読み込み、STYLEタグでの記述の一部としてCSS外部ファイルから読み込んだテキストデータを書き込めば良いだけで・・・。 JavaScriptだと、CSS外部ファイルから読み込むという事が・・・。という事でJavaScript外部ファイルでHTML書き出し処理の一部として埋め込むか、変数の初期値として用意しておくか・・・。 当然、HTMLの書き出しはSTYLEタグの書き出しです。 管理が面倒なのとJavaScriptが無効だと使えない・・・。 尚、もともとCSSの内容によってはブラウザの種類,バージョンによって有効,無効が異なります。 拡張機能やらバグやら・・・。 結局、最低限の検証用ソースを作成して状況を絞り込み、その上でそのソースを提示するなどしないと、詳細な回答は難しいです。
お礼
テキストとして認識というのは、私より詳しい者から聞いた話で、自分では理解をしていませんでした。もっと厳密に理解していないといけないのですね。 解説ありがとうございます。 これからはもう少し具体的に状況を絞り込みます。
- partita
- ベストアンサー率29% (125/427)
@importは使えますか?
お礼
@importもだめでした。 すみません。ありがとうございます。
お礼
shhkmgさん。 たくさん回答していただきありがとうございます。 やはり、状況をもっと絞り込んでいかないと、回答される方も推測で似たようなケースの場合でしか説明できないですよね~。