2

フルキャッシュされた状況でサイトのパフォーマンスを測定すると便利な場合があります。ただし、ブラウザではこれをテストするのが難しくなります。これは、手動でページを更新するたびにすべてのアイテムが再検証され、その結果、Webサーバー上のすべてのリソースが要求されるためです。有効なキャッシュアイテムはHTTP304で応答し、無効なキャッシュアイテムは200OKで応答します。そのため、Webサーバーへの遅延が原因で、この特定のユースケースのタイミングが間違ってしまうことになります。

1つの解決策は、新しいタブを開いてからサイトのURLを入力することです。これにより、期待される動作が得られます。キャッシュされたアイテムはディスクから提供されます。更新を押すとすぐに、アイテムは再び再検証されます。

このワークフロー(タブを開く、タブを開くなど)はちょっと悪いので、これを達成するためのより良い方法を誰かが知っているかどうか尋ねたいと思います。たぶん、インターネット上でこれまで見逃していた、うまく隠されたショートカットがあります。

4

2 に答える 2

4

ブックマークを追加し、「url」フィールドに次のように入力するだけです。javascript:location.href=location.href;

「再読み込み」ボタンがクリックされるたびに、ブラウザが特定のURLのすべてのリソースを再検証することは完全に理にかなっています。これは、ユーザーの意図に最もよく準拠しているためです。つまり、「再読み込み」は次のようになります。ブラウザのキャッシュにすでにあるものを単に提供するのではなく、「新鮮な」データの表示。これに加えて、すべての主要なブラウザは、SHIFT / CTRL + R /などのショートカットを使用して、httpヘッダー内の命令をバイパスしてリソースをキャッシュする(「304未変更」ステータスなど)、すべてのリソースを実際にフェッチする方法を実装しています。 F5。

于 2012-06-20T08:04:16.267 に答える
1

Firefoxでは、URLバー(WindowsとLinuxではCtrl-L、MacではCmd-L)にフォーカスして、Enterキーを押します。これは、リロードではなく、URLの通常のトップレベルロードのように扱われます。

残念ながら、他のブラウザはそのようなことを別の方法で処理します。クロスブラウザを処理する最も簡単な方法は、iframeにリロードするものをロードする小さなハーネスページを用意しsubFrameWindow.location.href = subFrameWindow.location.href、新しいロードをトリガーするように設定するボタンを用意することです。

于 2012-06-19T20:33:42.930 に答える