問題タブ [image-caching]
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.
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 も変更されます。ただし、これにはサイト全体で多くの変更が必要であり、より良い解決策がある場合は変更しません。また、アップロードされた新しい画像が同じ名前の場合、これはまだ機能しません (画像が少しフォトショップされて再アップロードされたとします)。
apache - Apacheを使用したWebサイトの画像キャッシュ
Apacheの静的コンテンツを{ブラウザでキャッシュ}し、{鮮度をチェック{すべてのリクエストで}}しないようにするにはどうすればよいですか?
ApacheWebサーバーでホストされているWebサイトで作業しています。最近、ヘッダー(さまざまなタイプのコンテンツのContent-Type)を使用して何かをテストしていて、画像に対する条件付きのリクエストがたくさん見られました。例:
画像ファイルは静的コンテンツであり、ブラウザによってキャッシュされますが、ユーザーがそれらにリンクするページを開くたびに、条件付きで要求され、「304NotModified」が送信されます。これは良いことです(転送されるデータが少ない)が、ページの読み込みごとに20以上のリクエストが増えることを意味します(Keep-Aliveとパイプラインが有効になっている場合でも、これらすべてのラウンドトリップによりページの読み込みが長くなります)。
既存のファイルを保持し、新しいバージョンをチェックしないようにブラウザに指示するにはどうすればよいですか?
編集:mod_expiresメソッドは、ファビコンでも機能します。
css - CSS 画像キャッシュ
クライアント側の画像キャッシュに関して、次の点に違いはありますか:
と
編集:それが問題かどうかはわかりませんが、上記の DIV は最初に style="display:none;" を使用して別のページに読み込まれます。
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.
css - IE7がSSL経由でCSS画像をキャッシュしない
Internet ExplorerのWebDevHelperツールバーを使用してSSLサイトでのHTTPリクエスト/ラウンドトリップのトラブルシューティングを行っていますが、IEがCSS:hover画像をトリガーするたびに再ダウンロードすることに気付きました。これにより、大量のラウンドトリップが発生します。
どうすればこれを防ぐことができますか?
編集: すべての静的コンテンツはcache-control:publicで提供されるため、画像、JavaScriptなどはFirefoxとChromeにキャッシュされます。この問題はIE固有のものです。
iphone - NSTemproryDirectory はどこにありますか?
画像のキャッシュを行っており、ファイルを一時ディレクトリ NSTemporaryDirectory に保存しています。/var/folders/.... としてログに表示されます。これはどこに存在しますか。私は現在、シミュレーターでこれらすべてを行っていますか?
ios - URL画像をキャッシュiphone UITableview
URLから読み込まれた画像をuitableviewのセルにキャッシュする方法に関するチュートリアルを探しています。
ここで例を見つけました
http://www.ericd.net/2009/05/iphone-caching-images-in-memory.html#top
しかし、コードは不完全です。私は客観的な初心者なので、欠けている部分を埋めるのは非常に難しいと感じました。
php - imagecache_create_path と getimagesize を使用する前に、Drupal imagecache でイメージを生成します
imagecache_create_path() と getimagesize() を使用して、imagecache で生成された画像のパスとそのサイズを取得しています。ただし、そのページに初めてアクセスした場合、画像はまだ存在せず、imagecache_create_path も画像を生成しません。
コードは次のとおりです。
パスを取得してファイルを生成する API メソッドはありますか? つまり、ブラウザーに表示せずに PHP から (プリセットを使用して) 画像を生成できますか?
前もって感謝します
image - 画像を正しくキャッシュする方法
GoogleのPageSpeedプラグインをFirebugにインストールしたところ、キャッシュを除いてすべてが良好に見えます。JSファイルとCSSファイルをキャッシュするようにヘッダーを設定しましたが、画像がキャッシュされていないと表示されます。画像が30日間キャッシュされるようにするにはどうすればよいですか?これらは静止画像であるため、他のファイルのようにPHPでヘッダーを追加することはできません。
jquery - jQueryで特別なイベントを実装するにはどうすればよいですか?
これを使用しplugin
て、jQuery のimgload
イベントを、画像がキャッシュされているかどうかに関係なく発生するイベントに置き換えています。
(最小限の)ドキュメントでは、次のように使用するように指示されています。
では、2つ質問です。1 つ目は、jQuery の横にあるヘッダーにプラグインにリンクするだけですか? そして2つ目は私の実装です
上記のものと同等です(つまりe
、load()
関数に渡す必要がありますか?