3

CSS最後に疑問符を付けてブラウザでアクセスする場合の違いと?、新しい CSS が Web サイトに影響を与えない理由を誰かが説明できますか?

Web サーバーに新しいサーバーをデプロイしましたCSSが、何の影響もありません。

以下のようにブラウザでURLを開こうとしました:

www.mysite.com/styles/css/main.css

の古いバージョンをロードしますCSS

次に、以下のように試してみると、新しいバージョンの CSS が読み込まれます。

www.mysite.com/styles/css/main.css?

これをすべて行った後。新しい CSS の変更は、Web サイトには影響しません。昔ながらのデザインがそのまま残っています。

敬具

4

2 に答える 2

4

? の後に何かを追加する必要があります。CSSを変更するときに変更します。何が起こっているかというと、ブラウザは特定の期間変更されていないものをすべてキャッシュします。これは、ファイル名をチェックすることによって行われます。だからmain.css?まだmain.cssですか?疑問符の後のものはクエリ文字列で、通常は特定のファイルにデータを渡すために使用されます。この場合、ファイル文字列を変更するためにのみ使用されるため、ファイル自体に影響を与えることなく、変更されるたびにブラウザーが更新されます。

これを処理する方法はいくつかあります。1 つ目は、バージョンを手動で変更することです。ヘッダー ファイルが 1 つしかない場合は、おそらく最も簡単な方法です。たとえば、常に同じヘッド データをロードするテンプレート システムの場合です。

<link rel="stylesheet" type="text/css" href="assets/css/main.css?ver1/>

次に、次の変更時:

<link rel="stylesheet" type="text/css" href="assets/css/main.css?ver2/>

自動的に実行したい場合は、次のように CSS 行に PHP スクリプトを少し追加できます。

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

これは基本的に、ファイルを保存するたびに変化する値を追加することで、次のような結果になります。次にファイルを保存すると、 time= 値が変化します。

<link rel="stylesheet" type="text/css" href="http://localhost/refficient/trunk/assets/css/main.css?time=1350305706" />
于 2012-10-17T14:10:30.100 に答える