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;
}
这么说你应该可以更容易理解了吧

泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
不果不跨域, cookie是同步写的, 无论是iframe, 还是不同的window或者tab, 任何一个页面修改了cookie, 其它页面就可以通过document.cookie
拿到, 但是没法监听cookie的改变. 需要注意两点: 一是如果指定了path
, 则不同path
的页面拿不到, 二是如果设置了httpOnly
, 则js无法读取.
另外:
如果要在iframe之间通信, 可以考虑使用
postMessage
.如果要跨页面监听数据变化, 可以考虑使用
localStorage
或者sessionStorage
, 然后在window
上监听storage
事件.
添加回答
举报
0/150
提交
取消