Javascript覆盖图像onload

时间:2012-12-06 22:28:09

标签: javascript

我正在尝试检测何时使用事件加载图像(而不是使用间隔来检查完整属性)。我有以下代码,但由于某种原因,这不会触发。我已经完成了一些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>

编辑:更正了日志消息中的拼写错误。

0 个答案:

没有答案