問題タブ [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.
javascript - ファイルがユーザーのブラウザキャッシュ内にあるかどうかを知ることは可能ですか?
私は次のようなことをしています。画像がユーザーのコンピューターにキャッシュされ、そのタイムスタンプがサーバー上のタイムスタンプと同じである場合、キャッシュされたバージョンを表示します。それ以外の場合は、サーバーからイメージをロードしないでください。
JavaScriptでこれができるのではないかと思うので、この投稿にjavascriptのタグを付けました。不適切な場合は、タグを付け直すのを手伝ってください。
編集: ここでは、実装する内容について詳しく説明します。私は、ユーザーが各画像の横にある[サムネイルを表示]ボタンをクリックした場合にのみサムネイルが読み込まれる、Webベースのファイルエクスプローラーのようなものに取り組んでいます。サムネイルがすでにキャッシュされている場合は、キャッシュされたバージョンを使用します。それ以外の場合は、一般的な画像アイコンを表示します。
ruby-on-rails - 「戻る」ボタンによる個人情報へのアクセスを防ぐために、ユーザーのログアウト後にブラウザのキャッシュをクリアする方法
ユーザーがログアウトした後、[戻る] ボタンを押すと、ログアウトする前に表示していた最後のページに戻ることができます。
私が取り組んでいるアプリは、公共のコンピューター (図書館やコンピューター ラボなど) で使用されることが多く、ユーザーが以前のユーザー セッションから何かを見ることができないようにしたいと考えています。
私はRails 3とDeviseを使用していますが、この問題はフレームワークまたはログインメカニズムで発生するようです。
ヘッダー/メタタグを使用してブラウザのキャッシュを無効にする解決策はありますか? この問題に対処する宝石やチュートリアルを知っている人はいますか?
アドバイスをお待ちしております。
javascript - 動的にロードされたJavaScriptをGoogleChromeにキャッシュしないように強制する
私はグーグルマップローダーに取り組んでいます(グーグルマップjavascriptAPIを使用)。ポイントが利用可能になったときに、パスに動的にポイントを追加したいと思います。 編集:WebページとJavaScriptは、Webサーバーを介さずに、ローカルに保存およびロードされます。
この目的のために、使用したいデータを入れる外部javascriptファイルを作成しました。
私はstackoverflowの他の場所で見つけた素晴らしいトリックを使用してJavaスクリプトオブジェクトをロードします:
これは、初期化を続行する前に外部JavaScriptが実際にロードされるまで待機するため、完全に機能します。
だから、それはすべて素晴らしいです。次に、外部javascriptファイルをリロードする5秒のタイムアウトを設定します。これは私が問題を抱えているところです。Google Chromeは、ディスクに直接移動するのではなく、キャッシュから外部JavaScriptファイルを再読み込みしています。これは、マップパスが進むにつれて更新されないことを意味するため、非常に苦痛です。私は本当にそれが必要です。
ページ全体を更新すると、JavaScriptが再ロードされても問題ありませんでしたが、ちらつきは非常に煩わしいものでした(そして、マップを「初期」状態に強制的に戻しました)。この新しいメソッドは、毎回javascriptファイルを強制的に再ロードできれば完全に機能します。
だから誰かが私を助けることができますか?
私はJavascript(私は主にC ++コーダーです)に非常に慣れていないので、愚かなことを尋ねている場合はお詫びします:D
applet - 2回目の起動時にアプレットがクラッシュする-エラーログが提供される
ログオンページで開始し、アプレットがロードされる2番目のページに移動するアプリケーションがあります。すべてがうまく機能します。ユーザーがログオフすると、ブラウザはログオン画面に戻ります。ユーザーが再度ログオンすると、アプレットの一部が初期化されたときにブラウザがクラッシュします。これは、アプレットの2回目のロードでのみ発生します。ブラウザでキャッシュが無効になっていますが、ブラウザが完全に閉じられることはないので、最初のログオン時にロードされたアプレットがまだ存在していると思いますか?
詳しくは。アプレットがロードされると、SunJavaコンソールが表示されます。ユーザーがログオフしてログオン画面に戻ると、ログオン画面でjavaが使用されていなくても(htmlとjavascriptのみ)、sunjavaコンソールは起動したままです。ユーザーがログオフしたときに何かが再初期化されていないと思いますが、アプレットが停止して破壊されているので、何がまだぶら下がっている可能性がありますか?
奇妙なことに、これは1台のテストマシンでのみ発生し、他のテストマシンでは発生しません。
以下は、SJCからのエラーログです。
c# - ページのキャッシュ バージョンによるセキュリティ リスクを取り除くにはどうすればよいですか
リンクを参照してください
すべての破壊コードの後でもセッション変数の値が残るのはなぜですか?
上記の問題は、ブラウザがページのキャッシュされたバージョンを表示しているため、私が作成したログイン機能が失敗することです。また、特定の制限時間内にすべての機能を実行できる理由もわかりませんが、その後実現しますそれはキャッシュされています!!
それで、
Web サイトのキャッシュ バージョンを削除する方法
また
キャッシュに私のコピーを作成しないでください!!!
c#を使用して
c# - C#でCOOKIE LESSセッション変数を宣言する方法のみ!
つまり、私の投稿でわかるように、キャッシュが原因で問題が発生しています
だから私はクッキーを試してみないと思います
ウェブサイト全体のCookieを少なくせずにCookieの少ないセッション変数を宣言する方法
意味、
- ウェブサイトはcookieless=FALSEである必要があります
- vairablecookieはあまり真実ではありません
php - PHP からヘッダーをキャッシュする
PHP では、デフォルトでキャッシュ関連のヘッダーは送信されません。
さて、デフォルトではキャッシングについて何も言わないので、状況によっては example.com/index.php がキャッシュされる可能性がありますか?
django - Subversion でファイルが変更されたときにリソース (CSS/JS) へのパスを更新する
ときどき、私のサイトを使用している人々からレイアウトの癖についての報告を受け取ります。その答えは、Ctrl-F5 でブラウザーを更新するか、キャッシュをクリアすることです。
これを処理する最も簡単な方法は、このようなリソースへのパスに SVN リビジョンを追加することですstyles.css?1234
が、これは少し手間がかかるのではないでしょうか (たとえば、リソースを変更しない SVN リビジョンは不要なフェッチを強制します)。 . また、これらすべてのパスを調べて見つけ、SVN リビジョンを出力するコードを追加する必要があります。
これを処理するためのより良い/標準的な方法はありますか?
ちなみに、私は Django と Apache を mod_wsgi と共に使用しています。
javascript - プログラムによる XHR/Ajax レスポンスのキャッシュと無効化
サーバーへの XHR 呼び出しが多数ある Web ページと、サーバーへの XHR 呼び出しが多数含まれている iframe を考えてみましょう。この呼び出しの多くは同じです (冗長)。私は単一の通信インターフェース(つまり、JavaScriptオブジェクトのメソッドのセット)を持っています。
サーバー呼び出しを最適化するには? 応答をキャッシュできますか? (応答を変更する可能性のあるアクションが発生したときに、保存された応答を無効にすることができます)、また、このキャッシュはページの更新後にクリアする必要があります。利用可能なそのようなコンポーネント/技術はありますか?
よろしく、
ナチケット
java - GlassfishサーバーでHTTPヘッダーを設定するにはどうすればよいですか
GlassfishサーバーがJavascriptや画像ファイルなどの静的リソースを提供するときに「Expires」HTTP応答ヘッダーを設定したいと思います。(ブラウザにそれらをキャッシュさせるため)
Glassfish V 3.0.1サーバーでこれを行うにはどうすればよいですか?