我希望即使用户清除缓存和cookie,我的网站也能离线使用。这是否可能?另外,我正在处理数据库。是否可以离线处理数据库?
用户可以使用Chrome(右键另存为)存储一个本地的单个网页,并且它将存储所有资源(图像,css,js),以便完全离线加载该页面。其他浏览器也会有类似的选项。
您可以使用wget镜像整个网站以供离线浏览。
wget --mirror --convert-links --html-extension -p http://www.example.com/
当然,这两个选项都无法处理您网站/页面中的数据库驱动元素。
如果您想离线模拟数据库或页面的动态元素,则Google Gears可能是最接近您所寻找的,但我认为它在去年被Google弃用了。
我点击了其他答案中提到的一些链接,但所有提到的工具都已被弃用或将/应该很快被弃用。
后来当我没有连接到互联网时,我打开了由Google运营的一个网站(要么是Google文档,要么是YouTube,我很遗憾忘记了),并查看了页面源代码,因为我很好奇想要看看其他答案的实际情况。我在清单文件中发现了一个叫做ORIGIN-TRIAL
的东西。
经过快速的谷歌搜索,我找到了这个,它带我去了这里,然后不知怎么地带我到了最后一个链接:
https://developers.google.com/web/fundamentals/primers/service-workers
总之,现在使用Service Workers。如果你想知道它是否适用于所有浏览器,不用担心。所有流行的浏览器都应该支持它,如此处所示。
如果要本地存储数据并离线访问,请查看Gears和Web Storage。
主要问题是您想为您的网站提供多少功能。它总是需要在客户端(用户)上进行一些工作,以“存储”即保存您的网站离线。您将不得不将所有功能存储在用户存储的一个页面中(可以是Flash电影或一些Javascript代码)。
您可以使用简单的命令将整个网站下载到本地,并确保所有链接正常工作。
wget -rk 'http://www.website.com'
对于 https url,您需要添加以下属性:
wget -rk --no-check-certificate 'https://www.website.com'