即使用户清除了缓存和 cookie,我也想让我的网站可以离线使用。有可能吗?我也在处理数据库。是否可以离线处理数据库?
6 回答
用户可以使用 Chrome 存储单个网页的本地副本(右键单击另存为),它将存储离线完全加载页面所需的所有资源(图像、css、js )。其他浏览器也有类似的选项。
您可以使用wget镜像整个网站以进行离线浏览。
wget --mirror --convert-links --html-extension -p http://www.example.com/
当然,这些选项都不会处理您的站点/页面的数据库驱动元素。
如果您想离线模拟数据库或页面的动态元素,那么Google Gears可能是最接近您正在寻找的东西,但我认为它去年已被 Google 弃用。
如果您的用户使用现代浏览器,请尝试 HTML5 应用程序缓存。
参考:
概述 - http://www.html5rocks.com/en/features/offline
演示 - https://jonathanstark.com/labs/app-cache-7/
教程 - https://www.html5rocks.com/en/tutorials/appcache/beginner/
文章 - http://grinninggecko.com/developing-cross-platform-html5-offline-app-1/
我单击了其他答案中的一些链接,并且提到的所有工具都已弃用或将/应该很快。
后来,当我没有连接到互联网时,我打开了一个由 Google 运营的网站(Google Docs或YouTube,从那以后我很遗憾地忘记了)并去查看页面源,因为我很想看到其他答案。我ORIGIN-TRIAL
在清单文件中发现了一些东西。在谷歌快速搜索后,我找到了这个,这把我带到了这个,不知何故把我带到了最后一个链接:
https://developers.google.com/web/fundamentals/primers/service-workers
总之,现在使用 Service Worker。如果您对它现在是否适用于所有浏览器感到好奇,请不要担心。所有流行的浏览器都应该支持它,如此处所示。
不,如果您的数据库是在线存储的。那么您需要 PHP/ASP 的 Internet 连接(无论您使用什么来处理 DB)来连接/通信到 DB
要在本地存储数据并离线访问它们,请查看Gears和Web Storage。
主要问题是您希望为您的网站提供何种程度的功能。它总是需要在客户端(用户)端进行一些工作来“存储”又名。离线保存您的网站。您必须将所有功能存储在用户存储的一个页面中(无论是 Flash 电影还是一些 Javascript 代码)。
您可以使用简单的命令在本地下载整个网站,并且所有链接都可以正常工作。
wget -rk 'http://www.website.com'
对于 https url,您需要再添加一个属性,如下所示:
wget -rk --no-check-certificate 'https://www.website.com'