问题描述
如您所知,即将推出的 Chrome 91 版将要求网站使用 SharedArrayBuffers 为网站启用跨域隔离。
遵循 Google (https://web.dev/cross-origin-isolation-guide/?utm_source=wnc_20146204&utm_medium=gamma&utm_campaign=wnc_20146204&utm_content=msg_110404023&hl=en) 的建议
我已经设置了所需的标题: Cross-Origin-Opener-Policy:同源和 Cross-Origin-Embedder-Policy: require-corp
但在那之后,Google Adsense 广告不再显示在我的网站上。确切地说,只有一个空框出现在应显示广告的位置。
我自己的应用程序不使用 SharedArrayBuffers,但我无权访问的第三方库使用了 SharedArrayBuffers,因此我无法避免使用 SharedArrayBuffers。
总而言之,如果我不启用跨域隔离,那么我的网站将停止在 Chrome 91 中运行,如果启用它,则 Google 广告将不会显示。
我已在 Google Adsense 社区中发布了此问题,但没有得到答复。我希望有人能在这里帮助我提出一些建议。
谢谢!
解决方法
如果您不是自己使用 SharedArrayBuffer
并且您已经确定了实际使用它的第三方资源提供者,请要求他们解决问题。除非您必须使用 SharedArrayBuffer
,否则您无需自己启用跨域隔离。
在许多情况下,SharedArrayBuffer
的第三方使用是微不足道的,可以忽略,因为相同的代码过去一直在不支持 SharedArrayBuffer
的浏览器上运行。