2013-07-21 72 views
0

以下JavaScript代码使用HTML5的postMessage /的addEventListener功能将消息发送到其自身:要么的postMessage或的addEventListener不工作

window.addEventListener('testMsg', function(event) { 
    alert('got a message'); /* Never happens. Why? */ 
}, false); 

window.addEventListener('load', function(event) { 
    alert('sending message');  
    window.postMessage('testMsg', '*'); 
}, false); 

甲对应的拨弄:

http://jsfiddle.net/ZGvLg/3/

该消息是从未收到。是什么原因?

+0

哪里'testMsg'事件定义? –

回答

2

我修改了小提琴。你在听错事件。

FIDDLE

应该

window.addEventListener('message', function(event) { 
    alert('got a message'); /* Never happens. Why? */ 
}, false); 

window.addEventListener('load', function(event) { 
    alert('sending message');  
    window.postMessage('message', '*'); 
}, false); 
+0

消息不是一个事件!!!然后如何发出警报??只是要求... + 1 –

+0

几个小时的工作与3分钟的堆栈溢出,以及一个新的眼睛的好处:)谢谢! – Roman

+0

@MESSIAH - 这是一个活动。这是postMessage的重点。 – Quentin

1

您正在收听testMsg事件,但postMessage将触发message事件。

+0

正确的答案。 – Roman