我是HTML5应用程序缓存的新手,但熟悉它的基础知识。我正在处理 SilverStripe 站点的缓存清单文件,每当内容管理器上传新图像时,都需要动态更新该文件。我知道图像将使用循环附加到下面的清单功能,但我发现具有挑战性的部分是每次更新日期和版本号。我是否需要将日期和版本列为变量?或者考虑到清单功能的设置,这是不可能的?
public function Manifest() {
$static = <<<EOT
CACHE MANIFEST
# 2016-03-17 v6.0.0
[manifest content]
EOT;
//Append any new image file that gets uploaded
$static = $static . "n" . "/test.html";
$this->response->addHeader("Content-type", "text/cache-manifest");
return $static;
}
更改按清单文件缓存时,清单内容不会更改。但是,您必须更改内容才能在浏览器中触发更新。在这种情况下,您可以更新注释。此注释可以包含任何内容。日期和版本是常见的做法,因为它们反映了更改。因此,您只需要它才能从File.LastEdit字段中获取最新的更改日期。