Javascript-事件处理程序中的错误
下面的代码不断地抛出这个错误。我不明白为什么 事件处理程序中出错:TypeError:无法读取null的属性“state”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)
// 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);