2014-05-01 67 views
0

我注意到觸摸或清單文件元數據的其他修改不會觸發更新(至少在使用Google Chrome進行測試時)。瀏覽器將觸發noupdate事件,除非我更改文件中更有意義的內容,例如添加一行空格。瀏覽器如何確定清單已更新?

瀏覽器如何比較舊的清單與新的清單?它是否下載新的清單並進行比較?它是否以某種方式從文件頭中確定?

回答

0

http://diveintohtml5.info/offline.html包含加載清單時瀏覽器遵循的過程的很好說明。

簡述:

  • 服務器嘗試,如果你有一箇舊版本,以獲得的清單
  • 一個新的副本,它會比較清單文件舊清單的內容 - 這樣如果您的索引頁面已更改,但您沒有新文件,則會觸發noupdate。任何將更改爲清單內容,與添加空白(正如您所見)一樣微不足道,將導致您列出的資產被重新加載。
  • 解決這個問題的常用方法是將SHA或其他東西作爲註釋添加到您的清單中,生成方式爲在任何資產本身發生更改時都會發生更改。