我有兩個iframe。這些內聯框架通過postMessage
進行通信。兩個iframe正在通信:SecurityError
從一個iframe,如果我做了以下,它不起作用。
// Broadcast to all iframes.
parent.frames.forEach(function (frame) {
frame.postMessage(data, 'http://localhost:4000');
});
錯誤:
Uncaught SecurityError: Blocked a frame with origin "http://..." from accessing a frame with origin "http://...". Protocols, domains, and ports must match.
但是,如果我這樣做,它工作得很好。沒有錯誤信息。爲什麼?
for (var i = 0 ; i < parent.frames.length ; ++i) {
parent.frames[i].postMessage(data, 'http://localhost:4000');
}
的這裏的問題看起來像它可以被讀爲「爲什麼'parent.frames.forEach'給我一個_SecurityError_,當我可以迭代他們在'for'?」 –