2012-07-26 25 views
1

鑑於有一種方法可以使用window.applicationCache.update()直接調用更新,有沒有什麼方法可以省略瀏覽器在加載頁面時自動執行的更新?有什麼辦法推遲HTML5清單檢查?

我一直在谷歌瀏覽器中試用離線模式,到目前爲止它似乎是 1)如果一個清單文件被指定,它將被加載,並且在JavaScript中我沒有辦法阻止它。 2)如果清單文件已經改變,整個緩存將被更新,並且我無能爲力阻止它。

根據我的經驗,window.applicationCache.abort()不管何時調用它都不起作用。我試着在javascript的第一行上調用它,並在檢查和下載事件中使用它,但它總是下載所有內容。這可能與時間有關,因爲文件很小並且加載非常快。

回答

1

聽取checking eventcancel吧。在application cache download process的第17步之前,abort()方法不會產生任何影響,我認爲您不能停止該過程。

+0

preventDefault()不起作用。該事件在Chrome中可取消= false,但標準要求它可以取消。 – 2012-07-26 23:34:21

+0

@DaveCausey您應該[報告錯誤](http://code.google.com/p/chromium/issues/list)。 – robertc 2012-07-27 08:00:01

0

這是在寫作的時候Chrome錯誤:https://code.google.com/p/chromium/issues/detail?id=175063(請投上一票)

只是嘗試這樣做iOS上的Safari瀏覽器:

window.applicationCache.addEventListener('checking', function(event) { 
    window.applicationCache.abort(); 
}, false); 

它的工作原理。在Safari調試器控制檯中:

應用程序緩存下載過程被中止。

Chrome忽略相同的代碼。

相關問題