有如下JavaScript代码:function tryIp() {
        var signature = + new Date();
        var src = "http://" + Ip + imgsrc + "?" + signature;
        var ImageObject = new Image();
        ImageObject.src= src;
        // ImageObject.onload = function () {imgLoaded(ImageObject));
         ImageObject.onload = imgLoaded;
}function imgLoaded(img) {
alert(img);
}但是图片明明已经可以拿到了,onload事件却始终不被触发。用注释掉的那行代码定义onload函数也不管用。不知道是啥原因?

解决方案 »

  1.   

    try:
    function tryIp() {
            var signature = + new Date();
            var src = "http://" + Ip + imgsrc + "?" + signature;
            var ImageObject = new Image();        ImageObject.onload = imgLoaded;        ImageObject.src= src;
            // ImageObject.onload = function () {imgLoaded(ImageObject));
    }function imgLoaded(img) {
    alert(img);
    }
      

  2.   

    把“ImageObject.src= src”放到onload函数的定义之后,这是为了解决从缓存load图片时onload不及触发的问题吧。我这个代码因为每次获取图片时都加了时间戳参数,所以不存在从缓存获取图片的问题。你说的这个方法我之前有试过,不起什么作用。。
      

  3.   

    try:
    function tryIp() {
            var signature = + new Date();
            var src = "http://" + Ip + imgsrc + "?" + signature;
            var ImageObject = new Image();
            ImageObject.src= src;
            // ImageObject.onload = function () {imgLoaded(ImageObject));
             ImageObject.onload = imgLoaded;
             ImageObject.onerror = imgLoaded;
    }function imgLoaded(img) {
    alert(img);
    }
      

  4.   

    function loadImage(url) {
        var image = new Image();
        image.src = url;
        // 如果存在与缓存中则直接执行
        if (image.complete) {
            imageUpdate(image);
            return;
        }
        image.onload = function() {
            imageUpdate(image);
        };
    }
    试试这个
      

  5.   

    不管怎么样,
           ImageObject.src= src;
          ImageObject.onload = imgLoaded;
    顺序必须反过来:
          ImageObject.onload = imgLoaded;
           ImageObject.src= src;
    这是先123才有456的问题,不能含糊。
    然后,再加上时间戳等。
    我做过一个JS批量看图器,onload,onerror,都用了,即使重新刷新同样的SRC,也从没有什么问题。
    http://blog.csdn.net/theforever/archive/2008/04/05/2252591.aspx
      

  6.   

    啊,能够用js代码实现吗?因为你不能指望user手动去删文件~
      

  7.   


    function tryIp() {
            var signature = + new Date();
            var src = "http://" + Ip + imgsrc + "?" + signature;
            var ImageObject = new Image();
            
            // ImageObject.onload = function () {imgLoaded(ImageObject));
             ImageObject.onload = imgLoaded;
    ImageObject.src= src;
    }function imgLoaded(img) {
    alert(img);
    }
    先设置onload事件,再设置src,设置了src后会立即被载入,必须要先设置onload事件
      

  8.   

    lz用attachEvent, 把onload绑定.以前也遇到过此问题