2015-06-15 80 views
1

嗨,美好的一天任何人都有教程如何使我的Chrome擴展/應用程序脫機?Chrome應用程序離線模式

我是新開發Chrome應用程序我剛剛將我的網站URL嵌入到我的manifest.json中,但我希望我的Chrome應用程序可用即使離線模式 任何人都有關於如何使Chrome應用程序脫機的教程?

回答

1

在manifest.json中使用"offline_enabled": true並閱讀Offline First

+0

只需添加'「offline_enabled」:true'對Chrome應用程序或擴展程序沒有太大幫助。根據[文檔](https://developer.chrome.com/apps/manifest/offline_enabled),當計算機處於脫機狀態時,它會在'chrome:// extensions'中突出顯示該應用程序。 – jreut

+0

我認爲他使用webview。對於webview,我們必須使用「offline_enabled」:true。 – raciasolvo

+0

在這種情況下,您的答案中的「大多數情況下」不是最佳選擇。只需使用「offline_enabled」:true,不要考慮默認值。無論如何,應用程序當然需要能夠從本地商店加載一些資源。但我認爲這是另一個問題。 – raciasolvo

1

使Chrome應用程序脫機工作不僅僅是將"offline_enabled": true添加到您的manifest.json。的確,在大多數情況下,offline_enabled設置爲true by default

離線意味着什麼,如果不是全部,應用程序的大部分數據都存儲在運行該應用程序的計算機本地。這樣,該應用程序不關心它是否連接到互聯網。查看Chrome應用開發者網站上的this link。您還需要查看Chrome storage API以下載,同步和管理您的數據。

3

從我目前瞭解的情況(Chrome 47)來看,webview和脫機支持可能存在問題。實際上,只要包含webview,默認情況下offline_enabled標誌將設置爲false。

https://developer.chrome.com/apps/manifest/offline_enabled

現在理論上網頁視圖是要脫機工作的唯一方法是,如果它的緩存內容。您會認爲使用HTML5應用程序緩存。

如果您的Chrome OS設備與Internet斷開連接但運行帶有webview的應用程序,即使您明確將offline_enabled標誌設置爲true,並且您的webview要加載HTML5應用程序中的內容緩存似乎這種情況現在不起作用。

簡單地使用webview,即使是從HTML5應用程序緩存中完全加載HTML5應用程序/頁面的webview,Chrome操作系統也會在嘗試加載URL之前給您一個ERR_INTERNET_DISCONNECTED錯誤。

奇怪的是,如果您的HTML5應用程序緩存已完全緩存應用程序/頁面並且URL的服務器處於脫機狀態,但您的Chrome操作系統設備已連接到Internet,則webview將正確加載HTML5應用程序中的頁面緩存。

我今天將此問題提交給Google。這似乎是一個監督與網頁瀏覽和設備脫機時無法檢查HTML5應用程序緩存。如果有人感興趣,我會在此更新。


2016年2月3日編輯

我們想通了,我們的問題是我們的應用程序最初將嘗試它被重定向到https,然後緩存在HTTP URL。當我們離線時,它只會嘗試http並且無法找到任何緩存的內容,因此我們會將恐龍頁面脫機。

通過僅在我們的情況下嘗試https,一切正常。使用AppCache的網頁瀏覽器可以在離線狀態下在Chrome操作系統應用中正常工