为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Smart猫小萌 2019-02-20 10:19:05
a页面与b页面是同源的不涉及跨域,a页面iframe了b页面,a页面登录后有了cookies,这个时候b页面可以访问到a页面的cookies吗?请问怎样做可以让a页面的cookies传到b页面的cookies里面?
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

你问能不能,那我只能说:能(不跨域)。

你要问为什么?自己看 cookies 原理。


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


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


var cookie = '';

function a(v){

    cookie = v;

}

function b(v){

    cookie = v;

}

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


查看完整回答
反对 回复 2019-02-27
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

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

另外:

  • 如果要在iframe之间通信, 可以考虑使用postMessage.

  • 如果要跨页面监听数据变化, 可以考虑使用localStorage或者sessionStorage, 然后在window上监听storage事件.


查看完整回答
反对 回复 2019-02-27
  • 2 回答
  • 0 关注
  • 5837 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号