如何在谷歌浏览器中禁用站点隔离?
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) 或其他有大量广告的社交网站的页面的所有标签。以上是关于如何在谷歌浏览器中禁用站点隔离?的主要内容,如果未能解决你的问题,请参考以下文章