2011-02-25 65 views
0

作爲我正在構建的離線啓用的Web應用程序的加載屏幕的一部分(using a cache manifest),我遇到了瀏覽器兼容性問題。HTML離線應用程序緩存,獲取錯誤詳細信息

在Chrome,FireFox和Safari的最新版本中,我可以下載緩存清單中的文件並進入離線狀態,但在iOS 4 Mobile Safari中引發了window.applicationCache.error事件。我收到的事件參數完全是空的。另外,我啓用了iPad上的調試控制檯,但沒有相關的錯誤信息。

有誰知道是否有方法從脫機緩存錯誤事件中提取錯誤信息?

回答

0

我有一個獨特的問題,因爲我通過ASP.NET通用處理程序(.ashx)提供脫機清單,並且Safari平板拒絕打開文件。我不確定.ashx是否是Safari中的某種受保護的文件擴展名,但診斷錯誤非常困難。

我最終發現錯誤是通過檢查Safari是否甚至觸及脫機清單,您可能需要檢查服務器日誌。

0

如果移動Safari永久會遇到緩存錯誤,但PC或Mac上的Safari會執行緩存,則可能是因爲您已清除瀏覽器緩存而未關閉所有瀏覽器屏幕並關閉瀏覽器。清除瀏覽器緩存也會刪除應用程序緩存,尤其是緩存數據庫。只要有一個瀏覽器屏幕打開,移動Safari不會重新創建應用程序緩存數據庫。由於缺少數據庫,每個應用程序緩存操作都將失敗。 PC-Safari從不銷燬數據庫文件,但會刪除數據庫中的條目。

據我所知,沒有辦法通過JavaScript檢測到這種情況。

相關問題