私はついにこれを自分の側で解決しました。
私は怠け者で、サーバーにキャッシュマニフェストを動的に生成させたいと思っています。
このモジュールのエクスポートは、サーバー上のキャッシュマニフェストの要求に対する回答です。
2つのリクエストに関するヒントをありがとう、ノードでそれを行った方法は次のとおりです。
//OFFLINE CACHE
var cacheManifest = undefined;
exports.cache = function(req, res){
if (!cacheManifest) {
var fsutils = require('modules/utils/fsutils');
//get the files and generate the output for cache.manifest
fsutils.getFiles('/public', function(files) {
var out = 'CACHE MANIFEST\n\ ';
var len = files.length;
for (var i = 0; i < len; ++i) {
out += files[i] + '\n\ ';
}
//setup for second request
cacheManifest = out;
//send output
res.header('Content-Type', 'text/cache-manifest');
res.end(out);
});
} else {
console.log('cache is cahced');
res.header('Content-Type', 'text/cache-manifest');
res.end(cacheManifest);
}
};
ここでの秘訣は、リクエストごとにキャッシュマニフェストを再構築しないことです。基本的に、ユーザーは、マニフェストが変更された場合、アプリに初めてアクセスしたときにのみマニフェストを取得します。または、クライアント側またはサーバー側のコードを使用してマニフェストを強制的に期限切れにすることができます。
最初の訪問では常に最新のマニフェストが生成され、その後は何でもできます。
リクエストごとにキャッシュマニフェストドキュメントを(モロニックに)生成していて、chromeが2番目のリクエストをバックアップするため、一致せず失敗したため、エラーが発生しました。
ダン...