谁明白这种离线访问是怎么实现的?

比如打开一个网页,网页里面有一些列表,比如:太空,我们,你们,他们四个列表,每个列表打开一个modal窗口,装载内容和评论内容。比如太空这条内容,有太空很美,太空很棒这两条评论的内容。

我发现有些网站可以这样访问,先清空缓存。然后打开列表,这个时候断网,然后点击列表也能打开modal窗口,并且评论内容也存在。

这怎么实现的?难道在访问列表的时候,就将评论的内容和列表内容缓存到js文件里面了?

网站是用nodejs angularjs实现的。

这是个什么特性?nodejs的数据缓存技术?还是angularjs的数据缓存技术?

阅读 3.8k
5 个回答

应该是简单的内存对象而已,前端单页面应用常见的现象(状态/数据管理)。

不是node或angular的神奇魔力。

一次把几条数据弄下来,再点击的时候就不会请求数据了。

按照你的描述,当你打开列表的时候,会发起一个请求,拿到数据,赋值给一个 变量,JS里它们的生命周期到关闭此标签页为止。(可以打开F12观察这个请求)

如果你想了解更高级的主题,可以参考单页面应用的相关知识

  • store 模式

  • mvvm

感谢回答 不知道是不是这样,回头我们实验一下

1、楼上几个说H5离线缓存的,如果清空了浏览器的用户本地缓存,数据是会没有的;
2、请了缓存、断网了,刷新页面还有评论内容,我更加怀疑是硬编码在网页html里面的;
3、如果是pc网页,右键,查看网页源码,一看便知;
4、推荐chrome浏览器,前端码农开发调试偷窥的不二选择;
5、使用chrome的时候,按ctrl+shift+i,打开开发者工具,打开network页签,再刷新页面,页面干了什么,一清二楚。
6、不光告诉你原因,还要告诉你如何去找到这个原因,才是回答者的美德。

可能用到了本地数据库,把页面浏览的数据存到本地数据库,websql,实现起来并不复杂。一般用于做h5的混合app离线功能,在pc端浏览器中也好使。可以看下couchdb和pouchdb的相关文档。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题