2012-09-20 88 views

回答

16

是的,這是目前「正確」的行爲。這是發生了什麼:

當你只是更改了清單文件,並刷新瀏覽器,這是發生了什麼(假設你是在線)

  • 瀏覽器首次加載回的所有文件在緩存
  • 那麼瀏覽器在網上查詢您的清單文件
  • 它檢測到清單文件發生了變化,它就會繼續下載新的文件
  • 但是,請記住,在這個時候,你仍然會看着你的'舊文件',因爲在瀏覽器纔去網上下載加載舊文件的「新文件」
  • 如果在這一點上,如果你打再次刷新(第二次),你應該得到的「新文件」

這目前是標準行爲。有些人把一些事件處理程序提示用戶進行另一次刷新(第一次刷新後)

個人而言,我認爲瀏覽器應該負責提醒用戶在完成下載新文件後進行另一次刷新,現在,大多數人從「window.applicationCache」中放入事件處理程序來觸發事件以幫助管理此事件。

要看看使用window.applicationCache的例子,去這裏:http://www.html5rocks.com/en/tutorials/appcache/beginner/

它的「更新緩存」部分。

1

它可以立即交換緩存描述here

function updateSite(event) { 
    window.applicationCache.swapCache(); 
} 
window.applicationCache.addEventListener('updateready', updateSite, false); 
相關問題