消息事件处理程序是否存在于窗口对象中

我有一个页面在html包含iframe.if消息来自iframe我必须处理它。但如何检查消息事件处理程序是否存在我的代码是

$(window).on('message',function(e){ console.log(e.originalEvent.data); }); 

单击按钮时,此代码设置消息事件处理程序。但是再次单击时,消息处理程序将被添加。是否有任何方法可以知道窗口对象中是否存在消息事件处理程序。请指南.i不能使用全局变量我的case.if它可以从window对象获取事件处理程序然后请解释方法。

尝试

 $(function () { $("body").text("click"); // `message` `handler` window.msgHandler = function (e) { if (e.origin === "http://fiddle.jshell.net") { console.log(e, e.data); }; }; window.addEventListener('message', msgHandler, false); var iframe = $(" 

jsfiddle http://jsfiddle.net/guest271314/9xC27/