Heim > Fragen und Antworten > Hauptteil
P粉6161110382023-08-26 18:51:46
是的,这可能与您的页面、登录页面的 COOP 配置以及它们的交互方式有关。 当两个页面没有相同的 COOP 时,它们最终会出现在单独的浏览上下文组中,这可能会阻止某些交互,例如 window.close 方法。
在没有看到您的代码和实现的情况下很难给出准确的解决方案,但是您可以尝试修改您的 COOP,使其与登录页面的 COOP 匹配。
这可以是same-origin
或same-origin-allow-popups
。
这些标头可以在 NextJS 配置中设置:https ://nextjs.org/docs/pages/api-reference/next-config-js/headers
就你的情况而言:
module.exports = { async headers() { return [ { source: "/(.*)", headers: [ { key: "Cross-Origin-Opener-Policy", value: "same-origin", // "same-origin-allow-popups" }, ], }, ]; }, };
P粉6163836252023-08-26 13:48:14
这似乎是一个很长一段时间没有解决的问题。不过,请尝试以下操作
您还可以参考跨域隔离指南 - https://web.dev /cross-origin-isolation-guide/ 和 MDN 文档,了解有关 Cross-Origin-Opener-Policy 的更多信息
如果您使用 Google API,请确保还添加带有端口的 URI,例如 localhost:3000
。您可以查看我的实时网站 - https://radheshyamdas.com/ 我正在使用使用 Next 构建的 firebase auth .js