Javascript 未在iFrame中设置Cookie

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}, '

情景:

我有一个父站点A域A,其中嵌入了一个带有域B的iframe。请注意,我可以控制这两个站点。我正在从站点A调用postMessage,该站点发布一些信息以作为cookie存储在iframe域B中。iframe将侦听postMessage事件并相应地设置cookie

域A:

 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中工作得非常好
  • 在铬合金中不起作用
看这个

另外,在iFrames中,其他人在这里报告了这个Chrome“bug”:

  • 还是在这里
不知道如何解决,但也许可以使用