以下JavaScript代码使用HTML5 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);
相应的小提琴:
永远不会收到该消息。是什么原因?
答案 0 :(得分:2)
我修改了小提琴。你在听错了事。
应该是
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);
答案 1 :(得分:1)
您正在收听testMsg
个活动,但postMessage
会触发message
个活动。
答案 2 :(得分:0)
就像其他人所说的那样,您需要监听"message"
事件,而不是"testMsg"
。这是工作代码更清晰的代码示例
window.addEventListener('message', function(event) {
alert('got a message'); // event.data == "hello world"
}, false );
window.addEventListener('load', function(event) {
alert('sending message');
window.postMessage('hello world!', '*');
}, false);