3

私自身、ユーザーとして「F5」を押すだけで確認したり、キャッシュをクリアしたりできることを知っています。

多くのユーザーがそうすることを知らないかもしれないので、これをより「自動」にすることができるウェブデザイナーの観点から何かがあるかどうか疑問に思っています。

動的サイトの場合、これはサーバー側の「魔法」で実行できます。

同様の質問に対するいくつかの回答は、何らかの方法で.htaccessを編集することを意味しているように思われるので、これを調査します。ただし、静的サイトで機能する「クイックヒント」またはコードスニペットを誰かが持っている場合は、それは素晴らしいことです。

このサイトで使用されているPHPは、お問い合わせフォーム専用であるため、メールを自動的に送信できます。サイトの残りの部分は、画像やテキストなどです。

4

5 に答える 5

8

ある種のJSソリューションでキャッシュをクリアすることはできませんが、できることは、Webサイトへの新しい展開/更新ごとに、css/jsの最後に偽のバージョン/ etc番号を追加することです.

例えば:

main.css?v=1.5
myCode.js?v=123

次回更新するときは、少し変更するだけです。main.css?v=1.51ユーザーがサイトに再度アクセスすると、URL が異なるため、自動的に再読み込みされ、最新のスタイル シートが使用されるようになります。

于 2013-01-02T16:49:46.400 に答える
3

Try adding a cache-busting variable to the end of your included files. E.g., instead of including main.js, include main.js?d=20120102. The JS/CSS file will ignore the variable, but the variable will cause the client to think it's a new file that hasn't been cached. You can then easily change the variable when you update the file.

于 2013-01-02T16:50:43.877 に答える
1

try:

<img src="image/path.jpg?t=<?=time();?>" />

for every image inside your "static" website. when you're working with *.html files you could use javascript to "reload" every image within the onload event.

于 2013-01-02T16:50:38.640 に答える
0

これを達成する方法はいくつかあります。

静的 HTML ページにキャッシュ メタ情報を設定して、ブラウザにキャッシュしないように指示し、要求を元のサーバーにリダイレクトすることができます。

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<meta http-equiv="cache-control" content="max-age=0" />
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

PHPを使用すると、次のようにヘッダーを設定できます

<?php
  //set headers to NOT cache a page
  header("Cache-Control: no-cache, must-revalidate"); //HTTP 1.1
  header("Pragma: no-cache"); //HTTP 1.0
  header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

を使用してキャッシュなしを実現することもできます.htaccess。このためには、mod_headers有効にする必要があります。.htaccessこのスニペットをファイルに入れるだけです。

<filesMatch ".(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Feb 1994 08:00:00 GMT"
</ifModule>
</filesMatch>
于 2013-01-02T16:59:38.747 に答える
0

html5 ボイラープレート ( http://html5boilerplate.com/ ) を使用し、「事前に作成された」.htaccess に転送したことを確認するだけで、私のサイトは更新を問題なく表示しています。

正直なところ、私はファイルを実際に調べたことさえありませんでしたが、ここで説明した概念のいくつかが組み込まれていることは確かです。

于 2013-03-18T02:47:49.767 に答える