我正在开发一个网站,使用依赖于SharedArrayBuffer
,使用SharedArrayBuffer
你的网站需要跨原产地隔离,这意味着你的服务器响应需要包含以下标题:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
我正在使用next.js和标题似乎正在工作,因为我可以检查与crossOriginIsolated
全局变量的交叉原点隔离。
这似乎是打破谷歌广告,因为它给我这些错误。
VM9:2747 crbug/1173575, non-JS module files deprecated.
show_ads_impl.js:101 GET https://www.googletagservices.com/activeview/js/current/osd.js net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep
VM48:2747 crbug/1173575, non-JS module files deprecated.
show_ads_impl.js:82 GET https://tpc.googlesyndication.com/sodar/sodar2.js net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep
show_ads_impl.js:82 Uncaught (in promise) undefined
任何想法?
提前感谢。
Google Ads没有计划支持跨域隔离。建议注册一个原产地试用,以暂时豁免您的域名,继续使用SharedArrayBuffer而不进行跨原产地隔离。
好消息是,Chrome团队正在研究解决这个问题的方法,没有这个临时豁免。
您可以在这里了解更多关于这件事:https://developers.google.com/publisher-tag/guides/cross-origin-embedder-policy