Javascript-事件处理程序中的错误

Javascript-事件处理程序中的错误,javascript,jquery,coffeescript,Javascript,Jquery,Coffeescript,下面的代码不断地抛出这个错误。我不明白为什么 事件处理程序中出错:TypeError:无法读取null的属性“state” // Generated by CoffeeScript 1.6.3 (function() { jQuery(function($) { var eventMethod, eventer, frame, messageEvent; frame = $("#cf-iframe"); alert(frame.length); if (frame.length > 0)

下面的代码不断地抛出这个错误。我不明白为什么

事件处理程序中出错:TypeError:无法读取null的属性“state”

// Generated by CoffeeScript 1.6.3
(function() {
jQuery(function($) {
var eventMethod, eventer, frame, messageEvent;
frame = $("#cf-iframe");
alert(frame.length);
if (frame.length > 0) {
  console.log("somehow");
  eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
  eventer = window[eventMethod];
  messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message";
  return eventer(messageEvent, function(e) {
    var newHeight;
    newHeight = e.data;
    if (!isNaN(newHeight && frame === true)) {
      return frame.css("height", newHeight + "px");
    }
  }, false);
}
});

}).call(this);

您的代码是正常的,但似乎是错误来自otside

检查脚本

代码中似乎跳过了“onmessage”和“message”。我在chrome上试过这个。而且它不会出错。您也不需要jQuery(函数($)中的“$”


在代码中看不到任何“状态”,我想这是代码的一半!!我认为这是来自其他地方。这是有道理的。这段代码对我来说很好。@Neelbatt我同意你的观点,粘贴在这里的代码中没有对状态变量的引用,也许你应该在cognito中尝试一下(没有任何浏览器插件/插件)
(function() {
  jQuery(function() {
    var eventMethod, eventer, frame, messageEvent;
    frame = $("#cf-iframe");

    if (frame.length > 0) {

      eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";

      eventer = window[eventMethod];

      messageEvent = eventMethod === "attachEvent" ? "message" : "onmessage";

      return eventer(messageEvent, function(e) {
        var newHeight;
        newHeight = e.data;
        if (!isNaN(newHeight && frame === true)) {
          return frame.css("height", newHeight + "px");
        }
      }, false);
    }
  });

}).call(this);