父页面的cookies可以让iframe的页面读取到吗?

发布于 2022-09-06 06:48:14 字数 114 浏览 19 评论 0

a页面与b页面是同源的不涉及跨域,a页面iframe了b页面,a页面登录后有了cookies,这个时候b页面可以访问到a页面的cookies吗?请问怎样做可以让a页面的cookies传到b页面的cookies里面?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风向决定发型 2022-09-13 06:48:14

不果不跨域, cookie是同步写的, 无论是iframe, 还是不同的window或者tab, 任何一个页面修改了cookie, 其它页面就可以通过document.cookie拿到, 但是没法监听cookie的改变. 需要注意两点: 一是如果指定了path, 则不同path的页面拿不到, 二是如果设置了httpOnly, 则js无法读取.

另外:

  • 如果要在iframe之间通信, 可以考虑使用postMessage.
  • 如果要跨页面监听数据变化, 可以考虑使用localStorage或者sessionStorage, 然后在window上监听storage事件.
白昼 2022-09-13 06:48:14

你问能不能,那我只能说:能(不跨域)。
你要问为什么?自己看 cookies 原理。

cookie 是储存在用户本地终端上的数据。

用js来解释说呢,就是一个全局变量,你的a页面和b页面就是分别的两个函数。

var cookie = '';
function a(v){
    cookie = v;
}
function b(v){
    cookie = v;
}

这么说你应该可以更容易理解了吧

情绪少女 2022-09-13 06:48:14

同域下应该是可以的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文