函数调用要在页面完全下载之后进行
Page.RegisterStartupScript("", " <script>window.onload=javascript:document.body.onload= function(){var imgerror = new ImageError()} </script>"); 

解决方案 »

  1.   

    测试了一下,ie8和chrome下代码和对象本身没有问题,可能是你调用的时间不对
      

  2.   

    运行后,this对象不是类ImageError对象了,ImageError被覆盖成一个新的对象了。
    var Class = { 
        create: function() { 
            return function() { 
                this.initialize.apply(this, arguments); 
            } 
        } 

      

  3.   


    不存在覆盖啊,var ImageError = Class.create(); 
    此时 ImageError = function(){ this.initialize.apply(this, arguments); }
    之后改写prototype,没有问题
      

  4.   


    问题根本的原因是 onError 没有写在  Img 标签内部,比如:<Img onError="errFunc()" src="123.jpg"/>;通过Js动态绑定的 onError 执行不到!<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>    <script type="text/javascript" language="javascript">
        window.onload = function()
        {
            var arrImg = document.getElementsByTagName("img"); 
            alert("图片张数:" + arrImg.length);
            for (var i = 0; i < arrImg.length; i++) 
            { 
                 arrImg[i].onError = function() {
                 alert('我是动态绑定的!')
                 }    
            }        
        }
        </script></head>
    <body>
        <img src="错误的图片地址" onError="alert('我是写在标签里的!')"/>
    </body>
    </html>
    注意弹出窗口的顺序:一、我是写在标签里的!
    二、图片张数:1根本没有执行到 alert('我是动态绑定的!'),楼主可以手动在 Img标签里边添加 onError 处理函数尝试一下.