0

我正在研究HTML 5脫機應用程序。當我在Visual Studio上運行該應用程序時,它工作正常,但當我停止我的應用程序時,然後刷新我的頁面,它會觸發Manifest錯誤事件,但我的應用程序從本地緩存正常工作。 但是當我託管在IIS 7.5上的同一個應用程序工作正常,直到我停止服務器。當我停止服務器而不是刷新我的頁面時,它會生成過時的事件並刪除緩存。 現在我堅持要做什麼。我還添加了MIME類型.appcache和type text/cache-manifestHTML5 AppCache:應用程序緩存在開發服務器上工作,但不在IIS 7.5上

回答

0

我的猜測是,因爲您的瀏覽器在技術上處於聯機狀態(服務器處於關閉/脫機狀態),因此會將檢索清單視爲錯誤。

,因此它被觸發obsolete事件,並刪除當前應用程序緩存爲每the spec (look at the "Dispatched when..." column for the obsolete event)

因此,應用程序緩存可能是工作 - 或者,如果沒有,這是不是這個原因 - 這是症狀你的測試存在缺陷。

順便說一句,我做了完全相同的事情 - 它很煩人,無法測試你的應用程序將如何公平,直到在生產/外部環境。所以準備好推動你的應用程序,並意識到你錯過了清單中的資源! :)

+0

有沒有什麼辦法可以解決這個問題?如果服務器關閉appcache現在已經被刪除,那麼離線工作不應該超過我應該做的事情嗎? –

+0

這不是最方便的解決方案,但您可以(1)設置虛擬機,然後(2)瀏覽器到您的應用程序,然後(3)斷開互聯網連接到虛擬機,然後(4)瀏覽到您的應用程序再次,這次你離線了。 – Sethi

+1

或者直接將其部署到測試環境(例如生產環境的子域)。我建議先完成你的應用程序,然後再搞清楚緩存清單。 **它在開發過程中會導致很多問題,例如讓你認爲你的代碼不起作用,而不是使用正在使用的緩存中的舊版本** – Sethi

相關問題