2015-06-15 56 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操作系统应用中正常工