1
因此,我有一個使用ApplicationCache存儲離線數據的應用程序。長話短說,對於沒有啓用離線數據的用戶來說,這是無聲的死亡,最常見的原因是他們關閉了歷史記錄或正在使用隱私瀏覽功能,我想趕上這一點並給用戶一個明確的錯誤。檢查瀏覽器是否禁用了離線應用程序緩存
它似乎,這可以通過檢查高速緩存的狀態,這將返回被檢測到0;如果沒有緩存...但我不知道這意味着沒有緩存但UNCACHED
,或者沒有緩存保證(並且因爲應該有,有些事情是錯誤的)。該official definition小於有用:
UNCACHED (numeric value 0)
The ApplicationCache object's cache host is not associated with an application
cache at this time.
但在實踐中,中止對cache.status==0
似乎好工作,至少在Firefox瀏覽器。我做對了嗎,還是有更好的辦法?如果有人能夠挖掘出一個狀態圖,那就多加點。
更新:不,如果用戶以前從未去過那個頁面,它也返回0/UNCACHED。碣!
嗨,這是否也表明應用程序緩存不支持有問題的設備/瀏覽器?或者在這種情況下window.applicationCache屬性根本不存在? – bigp