Bla*_*ake 5 javascript postmessage dispatchevent
我有此代码,已将MessageEvent的原点设置为*,但控制台仍提示阻止原点为“ AAAA”的框架访问原点为“ BBBB”的框架。协议,域和端口必须匹配。有人知道为什么吗?
var size = {
width: document.body.scrollWidth,
height: document.body.scrollHeight
}
var evt = new MessageEvent("dimensionMessage",{
"data": size,
"origin":"*"
});
window.parent.dispatchEvent(evt);
Run Code Online (Sandbox Code Playgroud)
但是,如果使用window.parent.postMessage(size, "*"),它会起作用。
错误消息告诉您,如果跨源 iframe 位于不同的源中,则它通常无法从父级调用方法;包括dispatchEvent方法(否则,iframe 可能会在父页面中生成鼠标事件)。
该postMessageAPI是一个例外的是,精确地设计,以允许在一个良好定义的方式跨来源连通。
(设置origin为 '*' 在这里对您没有帮助;通常,当通过 发送消息时,浏览器应该设置该属性postMessage;手动创建MessageEvent对象通常仅在您想在接收页面中进行模拟时才有用接收外部消息)
| 归档时间: |
|
| 查看次数: |
2205 次 |
| 最近记录: |