0

私はここで12の投稿について読みました、これは最も近いように見えましたが、私にとってはそれを完全に明確にしませんでした。

カスタムのModernizrビルドですが、HTML5ボイラープレートでビルドしています。条件付きロードにyepnope/modernizr.load機能を使用することを計画しています。

H5BPの.htaccessは、Etagsを削除し、expiresヘッダーを追加します(Modernizr.loadにはexpiresヘッダーが必要だと思います)。また、「アクセスプラスX」の有効期限を設定します

これは、キャッシュを最大限に活用してブラウジング体験を「スピードアップ」することに関連してどのように機能しますか。条件が満たされたすべてのリソースがすべてのページに読み込まれますか、それともキャッシュされたものはスキップされますか?

コンポーネントの1つ(ロードしているリソースの1つ)だけが変更されても、Modernizrのバージョンが変更されていない場合はどうなりますか?

投稿した後、これはウェブマスターフォーラムに適している可能性があることに気付きました(質問には実際のコードはありません...)が、コードを含む答えがあるかどうかはわかりませんので、今のところ、おそらく気づかせておきます移行する必要があります。申し訳ありませんが、このレベルのコーディングと構成は私にとって新しいものです。

ありがとう

4

1 に答える 1

0

各リソースは個別にキャッシュされます。したがって、という名前のjavascriptファイルをロードするとfoo.js、このファイルは1年間キャッシュされます:https ://github.com/h5bp/html5-boilerplate/blob/master/.htaccess#L245

modernizrスクリプトを新しいバージョンに変更しても、キャッシュの終了日は変更されません。その日付は変更foo.jsされません。

キャッシュを無効にするには、ファイル名(例:)foo-v1234123.js、パスを変更する必要があります。または、クエリ文字列()を追加することもできますfoo.js?v=1。に変更を加えた場合は、foo.jsこのバージョン番号を1つ増やすだけで、ブラウザにファイルの再ダウンロードと再キャッシュを強制します。

単純なWebサイトで作業していて、大きなプロジェクトがない場合は、クエリ文字列を使用してこれを手動で行う方が簡単な解決策になる場合があります。または、バージョン番号を経由gitまたは類似のものにフックすることをお勧めしますが、これはあなたの正気のために自動化する必要があります。

この助けを願っています!

于 2012-11-11T02:19:00.347 に答える