【发布时间】:2020-12-31 19:19:57
【问题描述】:
场景:
我的父站点 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);
}
console.log(document.cookie) 不返回任何内容
这里的问题是,一旦我在 messageReceivedEvent 中设置了 cookie,cookie 似乎没有存储在域 B 中。我错过了什么吗?
注意:此问题仅在最新的 Google Chrome 版本中出现,Firefox 可以正常工作。
【问题讨论】:
标签: javascript google-chrome cookies iframe