chrome appcache一個問題的解決

方健發表於2015-03-13

參考:

https://code.google.com/p/chromium/issues/detail?id=289543
http://www.html5rocks.com/zh/tutorials/appcache/beginner/

問題描述:

用http-server在本地開了個伺服器,寫了.appcache檔案做快取。

操作流程:

修改了.appcache檔案後,看到console裡有去取所有的資源,但是重新整理後就是沒更新。

解決:

反覆看了文件以後確認操作流程是對的。懷疑是chrome的bug,開啟safari測試發現結果符合預期。確認是chrome的問題。
在chrome的bug列表中找到這條 Issue 289543: Application Cache updates not picking up modified files chrome 檢查快取檔案時,先看max-age,如果沒有過期,就不會從網上取新的資源。
http-server預設的max-age是3600秒,重新用http-server -c10開伺服器。在chrome中開發者工具 ->Network-> 勾選Disable Cache 重新整理頁面取得新的max-age:10秒。 再重複操作流程,結果符合預期。

問題解決!

寫了個小例子驗證下: https://github.com/fangj/AppCacheLoader

相關文章