問題タブ [browser-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
19 に答える
235728 参照

html - Web ブラウザに画像をキャッシュさせないようにする方法

バックグラウンド

私は、2 つのプロボノ Web サイト用に、非常に単純な CGI ベース (Perl) のコンテンツ管理ツールを作成して使用しています。Web サイトの管理者にイベント用の HTML フォームを提供し、フィールド (日付、場所、タイトル、説明、リンクなど) を入力して保存します。そのフォームで、管理者がイベントに関連する画像をアップロードできるようにします。フォームを表示している HTML ページでは、アップロードされた画像のプレビューも表示しています (HTML img タグ)。

問題

問題は、管理者が画像を変更したい場合に発生します。彼は「参照」ボタンを押して新しい写真を選び、OK を押すだけでした。そして、これはうまくいきます。

画像がアップロードされると、バックエンドの CGI がアップロードを処理し、フォームを適切にリロードします。

問題は、表示されている画像が更新されないことです。データベースに正しい画像が保持されていても、古い画像が引き続き表示されます。イメージが Web ブラウザーにキャッシュされているという事実に絞り込みました。管理者が Firefox/Explorer/Safari で RELOAD ボタンを押すと、すべてが正常に更新され、新しい画像が表示されます。

私の解決策 - 機能しない

非常に過去の日付で HTTP Expires 命令を記述して、キャッシュを制御しようとしています。

私は管理者側にいることを思い出してください。ページは常に期限切れになっているため、ページの読み込みに少し時間がかかるかどうかはあまり気にしません.

しかし、これもうまくいきません。

ノート

画像をアップロードするとき、そのファイル名はデータベースに保持されません。これは、Image.jpg という名前に変更されます(使用時に単純化するため)。既存の画像を新しいものに置き換える場合、名前も変更されません。画像ファイルの内容が変わるだけです。

Web サーバーは、ホスティング サービス/ISP によって提供されます。アパッチを使用しています。

質問

Web ブラウザに、このページの内容 (画像でさえも) を強制的にキャッシュさせないようにする方法はありますか?

データベースで実際に「ファイル名を保存する」オプションを調整しています。このように、画像が変更されると、IMG タグの src も変更されます。ただし、これにはサイト全体で多くの変更が必要であり、より良い解決策がある場合は変更しません。また、アップロードされた新しい画像が同じ名前の場合、これはまだ機能しません (画像が少しフォトショップされて再アップロードされたとします)。

0 投票する
21 に答える
325868 参照

javascript - AJAX 呼び出し結果のブラウザ キャッシュを防止する

を使用して動的コンテンツをロードする$.get()と、結果がブラウザにキャッシュされるようです。

QueryString にランダムな文字列を追加すると、この問題は解決するようですが (私は を使用しますnew Date().toString())、これはハックのように感じます。

これを達成する他の方法はありますか?または、一意の文字列がこれを達成する唯一の方法である場合、以外の提案はありnew Date()ますか?

0 投票する
5 に答える
3812 参照

session - Web サイトのキャッシュをすべて消去しますか?

サイトのキャッシュをすべてクリアすることはできますか? 各リクエストでブラウザにキャッシュしないように指示するのではなく、ユーザーがログアウトするか、セッションが期限切れになったときにこれを行いたいと思います。

0 投票する
4 に答える
729 参照

firefox - FF3は、フォームの送信後にリモートIPからローカルホストにリダイレクトします

ローカルIP(例:10.1.1.59:8080)を使用して、ネットワーク上の別のコンピューターにアクセスしています。ログインページは正常に読み込まれますが、フォームの送信後、firefox(3)はリモートIPではなくローカルホストにリダイレクトします。

IE6 / 7/8は問題がないので、Firefoxの問題のようです。

何か案は?

0 投票する
7 に答える
1474 参照

html - CSSシートなどの特定のページ要素をブラウザが常に更新する(つまり、キャッシュしない)ように要求するにはどうすればよいですか?

ページの開発中にいつも気になる問題に気づきました。Firefox(私の一般的な「開発」ブラウザ)はサーバー上で変更されたときにCSSと画像を常に更新しますが、InternetExplorerは常にこれを行うとは限りません。通常、サーバーに更新されたバージョンを要求する前に、IEでページを更新する必要があります。

私が理解しているように、ブラウザは少なくともリクエストごとにすべてのサーバー側オブジェクトのタイムスタンプをチェックし、必要に応じてクライアント側でそれらを更新することになっているのではないでしょうか。強制することはできませんが、特定のアイテムに対してこれを行うようにブラウザに「促す」方法はありますか?

私がここで抱えている主な問題は、CSSが特定の方法で初期化されることに依存するJavaScriptがページにあることです。その逆も同様です。一方が更新され、もう一方が更新されない場合(両方が独自の外部ページにある場合、IEでは非常に一般的です)、混乱が生じ、ページにときどきスプラッタが発生します。「ページの更新」ダンスを自分で行うことはできますが、サイトでスクリプトを作成するときに、ユーザーに「ページの更新など」を勧める必要はありません。

アドバイスをいただければ幸いです。ページ自体は問題なく更新されるので(PHPです)、最悪のシナリオでは、CSSとJavaScriptをページ自体に吐き出すことができますが、それは本当に醜いです。もちろん、絶対に避けようとしています。

0 投票する
8 に答える
476426 参照

http - Cache-Control:max-age = 0とno-cacheの違いは何ですか?

ヘッダーCache-Control: max-age=0は、コンテンツがすぐに古くなったと見なされる(そして再フェッチする必要がある)ことを意味します。これは事実上、と同じですCache-Control: no-cache

0 投票する
6 に答える
29757 参照

javascript - ブラウザーは、ページが読み込まれるたびに JavaScript を解析しますか?

ブラウザー (IE および Firefox) は、ページが更新されるたびに、リンクされた JavaScript ファイルを解析しますか?

ファイルをキャッシュできるので、毎回ダウンロードしようとはしないと思いますが、各ページは本質的に分離しているため、古いコードを破棄して再解析することを期待しています。

これは完全に理解できますが、非効率的ですが、最新のブラウザはサイト内の解析ステップを回避するほど賢いかどうか疑問に思っています. サイトが ExtJS や jQuery などの JavaScript ライブラリを使用している場合を考えています。

0 投票する
8 に答える
136589 参照

asp.net - ASP.NETWebサイト全体のブラウザーキャッシュを無効にする

ASP.NETMVCWebサイト全体のブラウザーキャッシュを無効にする方法を探しています

私は次の方法を見つけました:

また、メタタグメソッド(一部のMVCアクションはヘッドメタタグなしでAjaxを介して部分的なHTML / JSONを送信するため、機能しません)。

しかし、私はWebサイト全体のブラウザーキャッシュを無効にする簡単な方法を探しています。

0 投票する
14 に答える
86313 参照

html - Is there a way to force browsers to refresh/download images?

I have a problem where users are reporting that their images aren't being uploaded and the old ones are still there. On closer inspection the new images are there, they just have the same name as the old one. What I do on the upload is that I rename the images for SEO purposes. When they delete an image the old index becomes available and is reused. Therefore it has the same image name.

Is there a way to (i thought maybe there might be a meta tag for this) to tell the browser to not use its cahce?

The better answer is to rename the image to something totally new. I will get working on that but in the mean time is the quick solution while I work on the bigger problem.