このところ、題記のような現象で苦戦しました。
<現象>
ホームページの追加作業を行った際に、CSS(スタイルシート)を変更したが、
その内容が反映されない。
<原因>
初めは原因が分からずに苦戦した。
1)新しく追加したCSSの内容は既存のものをコピー&修正したので、文法上の間違いはない。
2)CSSの定義で数の制約でもあるのかと、既存の内容の前に追加したが、現象は変わらない。
3)既存ものと新規のもので、何が違うのか検証機能(Google Chrome)を使って見比べた。
A)既存の表は、クラスST2_tb9が反映されている。
B)新規の表は、クラスST2_tb10が反映されない。何故、反映されないのか相当悩んだが
結局分からなかった。
4)インターネットで色々調べた結果、下記のホームページのおかげで分かりました。
ありがとうございます。原因はキャッシュでした。
・Google ChromeやSafariでcssが効かない・反映されない
<対策案>
案1)上記4)のようにキャッシュを手動で削除する。
案2)下記のようにCSSのファイル名を変える。
・WEBサイトの更新時、CSSのキャッシュを自動で読み直す方法
色々と考えましたが、案2としました。上記のホームページのおかげで対策が分かりました。
ありがとうございます。
但し、上記のホームページの方法は難しそうなので、クエリ文字は固定にする。そうすると、
全てのページがCSSを参照しているので、CSS変更時に毎回全ページを更新する事になる問題が残る。
その対策は、メニュー変更の場合と同じようにinclude文を使う事にする。
1)CSSを引用しているHTML文をheader_com.htmlにコピーして保存し、下記のようにクエリ文字を追加。
<link rel=”stylesheet” href=”style.css?070126″ type=”text/css”>
2)各ページのCSSを引用しているHTML文を次のように変更。
<!–#include file=”header_com.html” –>
3)ページを開くと、CSSの変更が反映されて正常に表示した。
<個人的感想>
同じような悩みを持つ人は多いと感じました。根本的な原因が分からなければ、
解決できない問題であり、先行して解決した人々の有難さをしみじみと感じています。
なお、全ページの変更が必要になるので、作業が大変・・・。
<リンク>