有一个greasemonkey脚本,它打开一个iframe,其中包含来自不同子域的表单作为父页面。
在表单提交后,当iframe刷新时,想刷新父页面。
在IFRAME:
window.addEventListener('message', receiveMessage, false);
在父框架中:
$(window).on('message', receiveMessage);
function receiveMessage(e) {
if ( e.originalEvent.origin === 'http://someurl.com' ) {
console.log("Message: " + e.originalEvent.data);
}
}
用途:
window.parent.postMessage('Hello Parent Frame!', '*');
在父框架中,需要:
window.addEventListener('message', receiveMessage, false);
function receiveMessage(evt)
{
if (evt.origin === 'http://my.iframe.org')
{
alert("got message: "+evt.data);
}
}