如何让 Chrome 浏览器标签「真正」休眠?

2020-08-19 14:47:27 +08:00
 Mindjet

懒加载网页,比如百度文档翻译,如果关闭网页,再次打开就要从头开始。

是否有办法将标签页休眠?

就好像 PC 休眠,唤醒并不需要从头开始,而是和离开时完全相同。

去谷歌找到了冻结标签页的扩展,但都是重新加载,比如 Tab Suspender 和 The Great Suspender 。

有人见过类似的扩展或者浏览器吗?

如果要实现这个功能,开发 Chrome 扩展能实现吗?

PS:

  1. 百度文档翻译是不能够完整导出的
  2. 也许还能更快启动大型 WebApp
6326 次点击
所在节点    奇思妙想
32 条回复
zzy2357
2020-08-20 00:30:24 +08:00
js 的 alert 是否可以达到冻结网页的需求?
jarnanchen
2020-08-20 02:54:05 +08:00
同意楼上, alert 应该能起到部分效果
Mindjet
2020-08-20 08:46:00 +08:00
@zzy2357
@jarnanchen
可能我描述的不太清楚,模态对话框这种手段显然是没用的。
Ctrl+W 轻松关闭,而且进程关闭当然无法阻止。
需要是内存级别的保存和恢复,类似 PC 休眠,断电后也能恢复。
Mindjet
2020-08-20 08:46:40 +08:00
@jarnanchen
@zzy2357
难道「类似 PC 的休眠」这么难理解吗?
怎么表述才能够让大家理解呢?
SimonOne
2020-08-20 09:55:37 +08:00
谷歌浏览器 PC 版的稍后阅读
https://www.landiannews.com/archives/78519.html
no1xsyzy
2020-08-20 10:12:07 +08:00
扩展还是得跑在 V8 里面,但你这个问题需要从底层往上的全面修改,而且浏览器的全部状态并不如操作系统那样放在一块,而是分散在各处,这要进行全局快照是个很诡异复杂的事。

另一方面,这一功能有很多待处理的问题:
setInterval(func, 1000) 之后冻结了一个小事怎么处理?你是瞬间把这个函数重复 3600 次?那不得瞬间卡死?还是说装作没有中间的时间?那某些依赖于模糊的时间的行为是否就被破坏了?(比如某个人写了个 “距 XXX 还有 YYY 秒”,每秒数字 -1,你突然跳了一段时间,这个时间就不对了。)
执行到一半的网络请求怎么处理?

不过看到你这个问题,我觉得 Ctrl+S 有奇效。
MerlinShieh
2020-08-20 19:04:34 +08:00
Ctrl + S
ruri
2020-08-21 14:01:20 +08:00
我觉得你这个是伪需求,为什么不尝试扩容内存+chrome 持续后台呢?内存那么便宜。需要休眠就直接休眠操作系统,如果实在需要关机重启的话,那就 ctrl+s 呗。
Mindjet
2020-08-21 18:58:16 +08:00
从这个问题中发现有意思的现象,好像越早的楼层,里面的信息越有价值。

最有价值的发言全部集中在前 4 位,也就是 codehz 、RiESA 、soji18 和 lxilu 。

dobelee 用友善的态度提出自己的看法,我解释了在实际场景中存在的问题 —— 很难永远保证不关某个进程。

最严重的劣化从 17 楼开始,之后的所有内容,包括 alert 、Ctrl+S 这种方法根本就没看正文,可以说毫无价值。

不知道这是否是普遍的规律,如果是,要做好回复质量劣化的心理预期。
Mindjet
2020-08-21 19:40:47 +08:00
@SimonOne
谢谢,但是感觉解决此问题的希望不大。
不过官方有了这个功能也是很好的,能够代替很多第三方的扩展。
OHyn
2020-08-22 03:31:32 +08:00
html & css 并不会主动做什么操作。那主要问题就集中在怎么给跑在 V8 里的东西打快照了。。或者说给 V8 进程打快照,有点像进程被系统调度中断的情况。这不是浏览器拓展能搞定的了。
前几天看到一文章,google 应该正在做类似的事情,目的是为了省电。
zckevin
2020-09-22 21:09:02 +08:00

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

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

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

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

© 2021 V2EX