我正在尝试检测何时使用事件加载图像(而不是使用间隔来检查完整属性)。我有以下代码,但由于某种原因,这不会触发。我已经完成了一些onerror和onabort事件,以防万一图像无法加载。
现在,如果我将回调附加到图像加载,则执行回调,同时从原型的onload打印“Image Loaded”。这几乎就像没有调用新的重载onload一样。我已经确定这是head script标签中的第一件事。
Image.prototype.coreOnload = Image.prototype.onload;
Image.prototype.onload = function() {
console.log('Image Loaded ' + this.src);
if( this.coreOnload ) {
this.coreOnload();
}
};
哦,我正在测试这是铬!
任何指针?
EDIT1:添加我的整个HTML
当我加载此页面时,会记录“从回调中加载”但不会记录“已加载图像”。我希望看到两者。
<html>
<head>
<script type="text/javascript" >
Image.prototype.coreOnload = Image.prototype.onload;
Image.prototype.onload = function() {
console.log('Image Loaded ' + this.src);
if( this.coreOnload ) {
this.coreOnload();
}
};
Image.prototype.coreOnerror = Image.prototype.onerror;
Image.prototype.onerror = function() {
console.log('Image Loaded Error ' + this.src);
if( this.coreOnerror ) {
this.coreOnerror();
}
};
Image.prototype.coreOnabort = Image.prototype.onabort;
Image.prototype.onabort = function() {
console.log('Image Loaded Error ' + this.src);
if( this.coreOnabort ) {
this.coreOnabort();
}
};
</script>
<style>
.newStyle {
font-size: 14pt;
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
</head>
<body >
<script type="text/javascript">
var img = new Image();
img.onload = function(){
console.log("Loaded from callback")
};
img.src = "http://i2.cdn.turner.com/cnn/dam/assets/121204012423-obama-boehner-t1-only-t1-main.jpg";
</script>
<a href="http://www.news.com">An external link</a>
</body>
</html>
编辑:更正了日志消息中的拼写错误。