代码之家  ›  专栏  ›  技术社区  ›  Chris Sobolewski

页面刷新时图像中断?

  •  0
  • Chris Sobolewski  · 技术社区  · 16 年前

    我使用Ajax从数据库中提取数据,并使用图像元素动态填充div标记。图像文件名对应于数据库中的数据。

    例如,如果数据库中有一个名为“foo”的东西,我有一个名为“img/foo.jpg”的项目

    如果'img/foo.jpg'设置类,然后将其写入正确的div中,我的javascript将提取数据并创建一个带有src的图像。

    如果右键单击->显示图像、手动刷新或等待它再次提取数据时,它会按预期显示图像。因此,我知道数据被正确地提取和写入,而它似乎无法加载图像。

    有人知道为什么或如何解决这个问题吗?

    2 回复  |  直到 16 年前
        1
  •  0
  •   Ates Goral    16 年前

    在Firefox中使用Firebug插件,在启用网络面板的情况下,您可能会看到图像获取失败的原因。

        2
  •  0
  •   Enda Farrell    14 年前

    如果“清除所有div,并每30秒重写一次节点”,您可能会遇到Microsoft支持问题所暗示的问题” How do I configure Internet Explorer to download more than two files at one time?

    与同时(并行)重新下载所有图像不同,您可能会发现连续更新图像更可靠,如下所示:

    var refreshCount = 0;
    function updateImages() {
      var nextImage = refreshCount % document.images.length;
      var image = document.images[nextImage];
      if(image.complete) {
        var newImage = new Image();
        newImage.src = image.src;           
        image.parentNode.insertBefore(newImage,image);
        image.parentNode.removeChild(image);
        refreshCount++;
      }
      setTimeout(updateImages, 1000);
    }
    // Wait 20 sec before starting the refreshes 
    // (gives time to get the images downloaded in the first place)
    setTimeout(updateImages, 20000);