如何在谷歌浏览器中禁用站点隔离?

Posted

技术标签:

【中文标题】如何在谷歌浏览器中禁用站点隔离?【英文标题】:How to disable Site Isolation in Google Chrome? 【发布时间】:2018-07-13 07:57:42 【问题描述】:

Chrome 67 在 Windows、Mac、Linux 和 Chrome 操作系统上启用了Site Isolation,这会增加 10-13% 的内存使用量,并给 Web 开发人员带来一些问题:

整页多框架布局不再同步,因为页面的框架可能分布在多个进程中, beforeunload 事件处理程序在跨站点子框架中不起作用,unload 事件处理程序可能与 postMessage 存在问题, DevTools 的网络面板不显示跨站点子资源请求的 cookie 和其他请求标头。

我希望节省 RAM 而不是额外的安全性。如何禁用站点隔离?

【问题讨论】:

禁用站点隔离似乎可以节省 10% 以上的内存。在我的非正式测试中,通常使用 8 GB 的内存现在是 2 GB。 对我来说,禁用站点隔离是能够运行 Chrome 的唯一方法,而不会为我访问的每个页面上的每个广告创建新的后台进程。这种情况一直发生,直到浏览器冻结。为 Facebook、GoogleAds 和其他广告创建了如此多的广告框架,令人难以忍受。广告拦截器也不会阻止 AdFrame 进程的创建。 【参考方案1】:

根据docs,可以通过添加Chrome命令行开关来禁用站点隔离:

chrome.exe --disable-features=IsolateOrigins,site-per-process

另一种方法是转到chrome://flags/#site-isolation-trial-opt-out 并选择Opt out

在 Chrome 68+ 中,您可以转到 chrome://process-internals 以验证站点隔离是否已禁用。

【讨论】:

退出并没有阻止为我创建失控的广告框架。最终,Chrome 崩溃或占用了太多内存,以至于我不得不再次重新启动它并关闭包含 Facebook (Meta) 或其他有大量广告的社交网站的页面的所有标签。

以上是关于如何在谷歌浏览器中禁用站点隔离?的主要内容,如果未能解决你的问题,请参考以下文章

在谷歌浏览器中禁用检查元素,右键单击和 F12

如何在谷歌浏览器中设置兼容性视图

angular js 的路由怎么在谷歌浏览器中不能用

“autocomplete = off”Html属性在谷歌浏览器中不起作用[重复]

谷歌浏览器 - 禁用捏缩放

在谷歌浏览器中调试时如何终止脚本执行?