Chrome应用离线模式

时间:2015-06-15 06:01:49

标签: google-chrome-extension google-chrome-app

大家好,有没有人有教程如何让我的Chrome扩展程序/应用程序离线?

我是开发Chrome应用程序的新手我只是将我的网站网址嵌入到我的manifest.json中,但我希望我的Chrome应用程序甚至可以在离线模式下使用 有没有关于如何让Chrome应用程序脱机的教程?

3 个答案:

答案 0 :(得分:3)

根据我目前的理解(Chrome 47),网页浏览和离线支持可能存在问题。实际上,只要包含webview,默认情况下offline_enabled标志就会设置为false。

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

现在理论上,webview脱机工作的唯一方法是缓存其内容。您会想到使用HTML5应用程序缓存。

如果您的Chrome操作系统设备与互联网断开连接但运行带有网络视图的应用,即使您明确将offline_enabled标志设置为true并且您的网络视图要加载HTML5应用缓存中的内容看来这种情况现在不起作用。

只需拥有一个webview,即使是一个完全从HTML5应用程序缓存中加载HTML5应用程序/页面的浏览器,Chrome OS也会在尝试加载URL之前给出ERR_INTERNET_DISCONNECTED错误。

奇怪的是,如果您的HTML5应用程序缓存已完全缓存应用程序/页面并且URL的服务器处于脱机状态但您的Chrome操作系统设备已连接到Internet,则webview将从HTML5应用程序缓存中正确加载页面

我今天将此问题提交给了Google。这似乎是对webviews的疏忽,并且在设备脱机时无法检查HTML5应用程序缓存。如果有人有兴趣,我会在这里更新。

2016年2月3日编辑

我们发现我们的问题是我们的应用程序最初尝试将http URL重定向到https然后缓存。当我们离线时,它只会尝试http并且无法找到任何缓存的内容,因此我们会让恐龙页面脱机。

仅在我们的情况下尝试https,一切正常。使用AppCache的网络视图在离线版Chrome OS应用中运行良好。

答案 1 :(得分:2)

在manifest.json中使用"offline_enabled": true并阅读Offline First

答案 2 :(得分:1)

让Chrome应用程序脱机工作只需将"offline_enabled": true添加到manifest.json。实际上,在大多数情况下,offline_enabled设置为true by default

离线意味着大多数(如果不是全部)应用程序的数据都存储在运行应用程序的计算机上。这样,应用程序不关心它是否连接到Internet。从Chrome应用开发者网站查看this link。您还需要查看Chrome storage API以下载,同步和管理您的数据。