文書間通信をより広範囲な環境で
動作させるための考察

nanto_vi, 2011-12-08

postMessage

iframe.contentWindow.postMessage('Hello', '*');

window.addEventListener('message', function (event) {
    alert(event.data);
}, false);

What about IE?

OK, let's implement XDM in IE 6/7!

隠しフレームと about:blank を用いた文書間通信

デモ

var senderWin = frame.contentWindow[1];
var receiverWin = frame.contentWindow[0];

senderWin.location.replace('about:blank');
senderWin.name = 'Hello, world!'

setInterval(function () {
    try {
        receiverWin.name;
        return;
    } catch (ex) {}

    receiverWin.location.replace('about:blank');
    alert(receiverWin.name);
}, 50);