现代浏览器有没有“脱机工作”这种功能?

2021-10-25 14:37:37 +08:00
 akaayy
早期浏览器都有“脱机工作”,在“文件”菜单下有一个“脱机工作”的选项,就可以打开以前浏览过的网页

怎么现在的浏览器都没有这项功能了吗?现在想打开一个近期看过的网页,那个网页现在在线版本已经看不了了。

有什么办法可以解决这个问题吗?
1825 次点击
所在节点    问与答
11 条回复
root01
2021-10-25 14:39:29 +08:00
save page we 插件
kop1989
2021-10-25 14:41:51 +08:00
因为现在的网站普遍都是动态网页。
既网页文件本身并不是内容的全部,关键数据都是通过浏览器的脚本执行来去服务器取的。

这就导致脱机模式的意义大打折扣,甚至可以说是聊胜于无。
akaayy
2021-10-25 14:53:04 +08:00
@kop1989
您说得这个原因应该说不过去
因为脱机浏览的功能就是看已经编译过,保存在本地的一个静态文件。比方说动态网页是 php 的论坛,原来浏览过,本地就会有一个该页面的 html 文件版本
所以跟动态网页应该没关系
sunjourney
2021-10-25 15:03:47 +08:00
PWA 不就是你说的吗
ipwx
2021-10-25 15:07:07 +08:00
@akaayy 你理解错了。。。现代网页很多都不是 php 渲染成静态 html 这种。

而是 html 里面只有一个 .js ,.js 里面再调用 post 或者 get 请求,加上某些参数得到 .json 。新的技术都是 html 全站只有一个,.js 全栈也就一套,页面上显示什么是前端根据 .json 请求来的数据动态产生的。
muzuiget
2021-10-25 15:09:12 +08:00
Firefox 93 的文件菜单里还有这个选项。
ipwx
2021-10-25 15:10:02 +08:00
@akaayy 然后这种动态页面的“脱机浏览”模式,细节太过于复杂,浏览器提供脱机浏览模式不现实。但是前端框架有不少能支持“脱机浏览”(离线应用模式)

https://zhuanlan.zhihu.com/p/27181616

顺便前端 js 不仅能显示从服务器获取的 .json ,你甚至能够在浏览器上开一个 WebSQL 数据库( Chrome 里面内置给 JS 用的某种关系型数据库),然后动态增删改查在本地数据库里面操作 hhh

这种页面现在反而比传统的 PHP -> HTML 更多应用了,因为 Vue.js React.js 一把梭嘛
gaobh
2021-10-25 15:11:29 +08:00
你说的是 Safari 的阅读列表功能吗
akaayy
2021-10-25 15:35:13 +08:00
@ipwx 好吧,你说的也有道理
qW7bo2FbzbC0
2021-10-25 16:00:51 +08:00
这可真是有历史感的词汇
ysc3839
2021-10-25 16:13:48 +08:00
IE 那个脱机工作好像是强制缓存+不主动联网?
现在的浏览器在服务器的缓存策略配置正确的情况下好像也能实现断网打开。
印象中配合 Service Worker 可以实现断网时打开一个断网提示页面,手机上访问 Google 就有这种功能。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/810356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX