MessageEvent的不同来源

时间:2014-03-02 21:40:37

标签: google-chrome-extension

如果我从网页上执行window.postMessage(),内容脚本将获得“message”事件,在这种情况下MessageEvent.source === window。

MessageEvent.source!== window有什么不同的情况?

1 个答案:

答案 0 :(得分:1)

当另一个窗口或框架调度该消息时,例如:

// Example: Another window:
window.opener.postMessage(' ... ' , '*');
var win = window.open();
win.onload = function() {
    win.postMessage(' ... ', '*');
};

// Example: Another frame
window.top.postMessage(' ... ', '*');
window.frames[0].postMessage(' ... ', '*');
window.parent.postMessage(' ... ', '*'); // etc.