受付9:00~18:00 ※土日祝除く
2023.05.15Web制作
最終更新日:2024年3月14日
CSSの変更が反映されない時は「キャッシュ」を疑いましょう!
今回は、CSSに変更を加えたのに、ブラウザで確認してもその変更が反映されない!
そんな経験はありませんか?
・ブラウザの更新を何度もかけたが反応なし
・CSSの記述は間違っていない
・CSSの読み込み先の指定も間違っていない
なのに、なぜ?
安心してください。このような状況は、WEBサイトの作成時にはよくあることです。
解決方法として、最初にしていただきたいのは、ブラウザの「キャッシュ」に古いデータが残っていないかを疑うこと。
今回は、CSSの変更が反映されないときの原因にありがちな「キャッシュ」についてと、キャッシュをクリアすることによってCSSの変更を今すぐ反映させる方法をご紹介します。
■キャッシュとは
キャッシュとは、ブラウザで表示させたWEBページの情報をパソコンに一時的に保存しておき、再度ブラウザに保存したデータを利用させる機能です。
簡単に言うと、一度見たことのあるページを高速で表示させるための技術です。
また、ブラウザでWebページが表示される仕組みは、
1. ユーザーがブラウザでURLを入力すると、ブラウザはそのURLを表示するようサーバーにリクエストを送信する。
2. サーバーはブラウザからのリクエストを元に、ページを表示させるレスポンスを返す。
3. サーバーから返ってきたレスポンスを元に、ブラウザにWEBページが表示される。
といった流れになります。
このように、サーバーにリクエストをして返ってきたデータを元に、ユーザーは目的のページを見ることができますが、ユーザーが何度も同じページを見る場合に、前に見たのと同じページなのに毎回サーバーにリクエストを送るのは無駄な手間だと言えます。
そんなときには、キャッシュの出番です。
■キャッシュのメリット
キャッシュを利用すると、一度見たページのデータは「閲覧履歴」としてパソコン上に一時的に保存されるので、再度同じページを表示させようとしたとき、わざわざ再度サーバーにリクエストを送るということはせず、手元のパソコンに保存された閲覧データを元に、ブラウザにページを表示させることができます。
このように、キャッシュを利用すれば、サーバーへのリクエストを送る手順を省くことができ、それによりWEBページの表示が高速になるというメリットがあります。
■キャッシュのデメリット
そんな便利なキャッシュですが、デメリットもあります。
それは、サイトの制作者がCSSファイルなどに変更を加えた場合、変更したファイルをアップロードしていても、そのページを閲覧したことのあるユーザーのブラウザには以前のキャッシュが残っているため、変更前のページが表示されてしまうという点です。
まさにこれが、
「CSSを変更したのに、変更が反映されない!」
という状態ですね。
■なぜキャッシュに古いデータが残ってしまうのか
キャッシュは、表示されたページのURLをもとにデータを保存します。
なので、そのページを表示させるためのファイルの中身が変更されていたとしても、ページのURL自体は変わらないので、新しいページだとは認識されず、以前見たのと同じページと認識されます。
それにより、変更前のページが表示されてしまうのです。
■キャッシュをクリアする方法
「CSSの変更が反映されない!」という場合は、上記の内容を踏まえ、最初にキャッシュの古いデータが反映されていないかを疑いましょう。
キャッシュをクリアすれば最新のページが読み込まれますので、キャッシュをクリアして、CSSの変更を反映させましょう!
以下に、Chromeブラウザでのキャッシュクリア方法をご説明します。
●ショートカットキーのみでハード再読み込み
まずは、ショートカットキーで手軽に再読み込みをする方法です。
通常のリロード(再読み込み)で変更が反映されない場合は、キャッシュを使わず再読み込みする方法を試します。
OSによりショートカットキーが異なります。
Windowsの場合 : Shift + F5
Mac の場合 : Shift + command + R
●デベロッパーツールでスーパーリロード
上記の方法で変更が反映されない場合は、さらに強力な手を使います。
それが 「スーパーリロード」 と言われるものです。
スーパーリロードを行うためには、まずchromeのデベロッパーツールを開きましょう。
Windowsの場合 : F12
Mac の場合 : Option + command + I
このショートカットキーで開くことができます。
デベロッパーツールを開いた状態で、chromeの更新ボタンを右クリック、もしくは長押しすると、「キャッシュの消去とハードの再読み込み」が表示されますのでこちら を選択します。
これでスーパーリロードは完了。とても簡単ですね!
●設定メニューからの削除
ブラウザの設定メニューから、キャッシュクリアすることもできます。
デベロッパーツールに馴染みのない方 (例えば、Web制作を依頼されたクライアント) にキャッシュクリアをお願いする時などは、この方法が良いかもしれません。
1. 画面右上の 「」をクリックする
2. その他ツール → 閲覧履歴を消去
3. 消したい項目にチェックを入れ、閲覧データを消去するボタンをクリック
※CSSの変更を反映させたいだけなら、「キャッシュされた画像とファイル」にだけチェックを入れればOK。
いかがでしたでしょうか?
今回は、CSSで行った変更が反映されない時の対処法についてご紹介しました。
キャッシュクリア、スーパーリロード、設定メニューからの削除。
どれも簡単に最新のページを表示させることができますので、ぜひ試してみてください。
【この記事のライター】
Satoru Osada
株式会社エー・エム・ティー Front-end Engineea
この記事を読んで、Web制作に関するお悩みやご要望をお持ちの方はいませんか?
私たちは、Web制作のプロフェッショナルとして、お客様のニーズに応えるWebサイト制作から運用サポートまでをお手伝いします。
高品質かつコストパフォーマンスの高いWeb制作を得意とする私たちにお任せください。
詳細は、このページの下の方にあるリンクからお問い合わせください。
ご連絡をお待ちしています。
お問い合わせCONTACT
株式会社エー・エム・ティーは
印刷物からホームページ制作・更新運用管理までトータルサポート。
企業様の課題解決や企業価値向上のお手伝いをいたします。