Javascript 未在iFrame中设置Cookie
情景: 我有一个父站点A域A,其中嵌入了一个带有域B的iframe。请注意,我可以控制这两个站点。我正在从站点A调用postMessage,该站点发布一些信息以作为cookie存储在iframe域B中。iframe将侦听postMessage事件并相应地设置cookie 域A:Javascript 未在iFrame中设置Cookie,javascript,google-chrome,cookies,iframe,Javascript,Google Chrome,Cookies,Iframe,情景: 我有一个父站点A域A,其中嵌入了一个带有域B的iframe。请注意,我可以控制这两个站点。我正在从站点A调用postMessage,该站点发布一些信息以作为cookie存储在iframe域B中。iframe将侦听postMessage事件并相应地设置cookie 域A: var frame = document.getElementById('exampleFrame'); frame.contentWindow.postMessage({"age":28}, '
var frame = document.getElementById('exampleFrame');
frame.contentWindow.postMessage({"age":28}, '*');
嵌入式iframe域B:
window.addEventListener('message', messageReceivedEvent, false);
function messageReceivedEvent(e) {
document.cookie("age=" + e.data.age + ";");
console.log(document.cookie);
}
log(document.cookie)不返回任何内容
这里的问题是,一旦我在messageReceivedEvent中设置了cookie,cookie似乎没有存储在域B中。我是否遗漏了什么
注意:这个问题只发生在最新的Google Chrome版本中,Firefox工作正常
Chrome处理cookies的方式不同。 参见Mozilla示例#1:
- 它在Firefox中工作得非常好
- 在铬合金中不起作用
- 还是在这里