您可以使用窗口的 postmessage 方法,以便将信息发送到另一个窗口。通过遵循这种方法,您可以在不同的窗口 (B) 上从窗口 (A) 执行方法。您需要在窗口 B 上创建一个事件,通知 A 该方法运行正确。
代码类似于:
发件人:
//create popup window
var domain = 'http://scriptandstyle.com';
var myPopup = window.open(domain + '/windowPostMessageListener.html','myWindow');
//periodical message sender
setInterval(function(){
var message = 'Hello! The time is: ' + (new Date().getTime());
console.log('blog.local: sending message: ' + message);
myPopup.postMessage(message,domain); //send the message and target URI
},6000);
//listen to holla back
window.addEventListener('message',function(event) {
if(event.origin !== 'http://scriptandstyle.com') return;
console.log('received response: ',event.data);
},false);
目的地:
//respond to events
window.addEventListener('message',function(event) {
if(event.origin !== 'http://davidwalsh.name') return;
console.log('message received: ' + event.data,event);
event.source.postMessage('holla back youngin!',event.origin);
},false);
你也可以在这里找到深入的解释:http://davidwalsh.name/window-postmessage