Cross-Origin-Opener-Policy 设置后为什么 window.open 无法访问新窗口?
我在项目里加了 Cross-Origin-Opener-Policy: same-origin 响应头,结果发现用 window.open 打开同域页面后,拿不到新窗口的引用了,报错说“Blocked a frame with origin…”。
明明是同一个域名,按理说应该能通信才对啊?我试过把 header 改成 unsafe-none 就正常了,但这样又不安全。是不是我哪里理解错了?
const popup = window.open('/dashboard', '_blank');
// 后续想调用 popup.postMessage 或读取 popup.location
// 但直接报错:Uncaught DOMException: Blocked a frame with origin...
Cross-Origin-Embedder-Policy: require-corp应该就行了。