如何使网站离线可用

问题描述 投票:0回答:6

我想让我的网站可以离线使用,即使用户清除了缓存和 cookie。有可能吗?我也在处理数据库。是否可以离线处理数据库?

offline web-sql
6个回答
11
投票
  1. 用户可以使用 Chrome 存储单个网页的本地副本(右键另存为),它将存储离线完全加载页面所需的所有资源(图像、CSS、JS)。其他浏览器也会有类似的选项。

  2. 您可以使用wget镜像整个网站以供离线浏览。

    wget --mirror --convert-links --html-extension -p http://www.example.com/
    

    当然,这些选项都不会处理站点/页面的数据库驱动元素。

  3. 如果您想离线模拟数据库或页面的动态元素,那么 Google Gears 可能是最接近您正在寻找的东西,但我认为它去年已被 Google 弃用。


7
投票

2
投票

总结:使用服务人员

查看其他答案中链接的网站,提到的大多数工具都已被弃用,或者将来会被弃用。在看到你的问题后的某个时候,我没有连接到互联网,也没有解码打开由 Google 运营的网站(Google Docs 或 YouTube)。我很好奇看到其他答案的实际效果,所以我去查看页面源代码。

在里面,我在清单文件中发现了一个叫做

ORIGIN-TRIAL
的东西。 经过快速的 Google 搜索后,我找到了 Chrome 开发者的 Origin Trials 网站,这给我带来了一篇关于 AppCache 的删除 的文章,这不知何故让我看到了最后一个链接:

https://developers.google.com/web/fundamentals/primers/service-workers

总而言之,Service Workers 现在是使网站离线可用的最佳支持选项,受到所有主要浏览器的支持。您可能还想研究 PWAs(渐进式 Web 应用程序),它有一些允许离线操作的 API。


0
投票

不,如果您的数据库位于在线。那么您需要 PHP/ASP(无论您使用什么来处理数据库)的互联网连接来连接/通信到数据库


0
投票

要在本地存储数据并离线访问它们,请查看 GearsWeb Storage

主要问题是您希望为您的网站提供何种程度的功能。它总是需要在客户端(用户)端进行一些工作来“存储”又名。离线保存您的网站。您必须将所有功能存储在用户存储的一个页面中(无论是 Flash 电影还是某些 Javascript 代码)。


0
投票

您可以使用简单的命令将整个网站下载到本地,所有链接都可以正常工作。

wget -rk 'http://www.website.com'

对于 https url,您需要再添加一个属性,如下所示:

wget -rk --no-check-certificate 'https://www.website.com'
© www.soinside.com 2019 - 2024. All rights reserved.