我有一个在http://foo.example.com/page投放的页面,该页面嵌入了一个在http://bar.example.com/iframe投放的iframe。 出于性能方面的考虑,我想使用Chrome的“网站隔离”(自Chrome 67起默认启用)在与首页不同的线程中呈现iframe。
但是,只有在主页和iframe分别位于不同的第二级域(例如foo.example.com和bar.otherexample.com)上投放时,这种“网站隔离”行为才似乎会触发
chrome:// process-internals /#web-contents上的调试页面显示以下内容:
如果foo.example.com上的网页/ bar.otherexample.com上的iframe:
Frame: locked, site:http://example.com/ | url: http://foo.example.com/page
└ Frame: locked, site:http://otherexample.com/ | url: http://bar.otherexample.com/iframe
两个框架具有不同的“站点”->我可以在Chrome的任务管理器中为iframe看到单独的“子框架:站点:http://otherexample.com/”过程。
如果foo.example.com上的页面/ bar.example.com上的iframe:
Frame: locked, site:http://example.com/ | url: http://foo.example.com/page
└ Frame: locked, site:http://example.com/ | url: http://bar.example.com/iframe
两个框架具有相同的“站点”-> iframe没有“子框架”过程。
有什么办法可以暗示Chrome将foo.example.com/page和bar.example.com/iframe视为不同的“站点”吗?
(FWIW,在我的浏览器中打开的其他随机选项卡上,我确实看到“子帧”进程被拆分为帧,其中“站点”列为https://content.googleapis.com/或https://accounts.google.com/- ,但考虑到三级域名。尽管它们恰好是Google URL,所以我不知道这是否是某些特定的硬编码行为?)