62

Webサイトを作成していますが、サイトのスタイルシートに変更を加えてサイトを更新したところ、変更はありませんでした。

ソースの表示ツールを使用してを確認しようとしましたstylesheet.cssが、更新されていません。しかし、私が自分のシステムのルートに行くとき、それはそうです。

サイトに更新が表示されるまで少なくとも20分待つ必要がありますが、変更がすぐに表示されない理由を誰かに教えてもらえますか?ブラウザ、コンピュータ、またはサーバーに問題がありますか?

Cookie、キャッシュ、履歴も削除しようとしましたが、それでも機能しませんでした。

4

15 に答える 15

197

あなたのサイトがまだ公開されておらず、スタイルシートを好きな間隔で更新したいだけなら、これを使用してください: Ctrl+ F5.

Mac OS (Chrome) ではCmd+ Shift+を使用しますR

これにより、ブラウザはウェブサイトのページに関連するすべてのリソースを再読み込みして更新する必要があります。

したがって、スタイルシートで何かを変更し、新しい結果を表示したいときはいつでも、これを使用してください。

于 2012-10-04T00:00:44.513 に答える
55

ほとんどの場合、ファイルはサーバーによってキャッシュされているだけです。キャッシュを無効にするか (ただし、サイトが公開されたら有効にすることを忘れないhrefでください)、linkタグを変更して、サーバーがキャッシュから読み込まないようにすることができます。

ページが php などの言語によって動的に作成されている場合、href値の最後に次のような変数を追加できます。

<link rel="stylesheet" type="text/css" href="css/yourStyles.css?<?php echo time(); ?>" />

これにより、ファイル パスの末尾に現在のタイムスタンプが追加されるため、常に一意になり、キャッシュから読み込まれることはありません。

ページが静的な場合、これらの変数を自分で管理する必要があるため、次のようなものを使用します。

<link rel="stylesheet" type="text/css" href="css/yourStyles.css?version=1" />

ファイルの内容にいくつかの変更を加えた後、などに変更version=1しますversion=2

キャッシュによる css ファイルのキャッシュを無効にする場合は、サーバー タイプのドキュメントを参照するか (apache、IIS、nginx などでは異なる方法で行われます)、 https://serverfault.com/で質問/検索を行ってください。

IIS を想定して - <system.webServer> の下にキーを追加し、ルートまたは関連するフォルダーに適切な設定をするとうまくいきます。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <caching enabled="false" enableKernelCache="false" /> <!-- This one -->
    </system.webServer>
</configuration>

とはいえ、アプリケーション プールをリサイクルして CSS を「バンプ」する必要がある場合もあります。したがって: IIS キャッシュを無効にするだけでは、100% 保証された解決策ではありません。

ブラウザの場合: 興味のある方のために、 SuperUser上の FF上のローカル キャッシュをきめ細かく制御することについて、いくつかの注意事項があります。

于 2012-10-03T23:41:13.550 に答える
12

ファイルがキャッシュされているかどうかを確認する最も簡単な方法は、<link />要素にクエリ文字列を追加して、ブラウザーが再読み込みするようにすることです。

これを行うには、スタイルシート参照を次のように変更できます

<link rel="stylesheet" type="text/css" href="/css/stylesheet.css?v=1" />

部分に注意してくださいv=1。新しいバージョンを作成するたびにこれを更新して、実際にキャッシュされているかどうかを確認できます。

于 2012-10-03T22:54:22.113 に答える
-1

![キャッシュのクリア] Ctrl+Shift+Delete http://i.stack.imgur.com/QpqhJ.jpg 更新が反映されていることを確認するために、ハード リフレッシュを実行する必要がある場合があります。しかし、平均的な Web ユーザーがハード リフレッシュとは何かを知っている可能性は低く、問題が解決するまでページをリフレッシュし続けることも期待できません。これを行う1つの方法は次のとおりです。<link rel="stylesheet" href="style.css?v=1.1">

于 2015-01-26T16:23:40.083 に答える
-4

style.css のスタイルを更新しないでください。代わりに、独自の新しいスタイルシートを作成し、style.css にインポートしてください。

your-own-style.css
      .body{
           /*any updates*/
       }

style.css に your-own-style.css をインポートする

@import url("your-own-style.css");
于 2015-02-03T08:49:27.263 に答える