0

我正在我的服务器 Ubuntu 12.04.1 上使用下面的 javascript 代码运行幻灯片。问题是,当我更改图像的名称时,我会在 Chrome 网络工具上获得无限的服务器响应 304(未修改)。但是,当我清除浏览器历史记录(缓存)时,一切正常,只有 5 个来自缓存的网络请求,而不像附加的屏幕截图。

我想知道为什么会发生这种情况以及如何解决?附上屏幕截图供您参考!如果您提示我如何解决这些无限制的请求,将不胜感激?谢谢!

在页面 index.php 中:

<SCRIPT>
//set image paths
src = ["ic/photo1.jpg", "ic/photo2.jpg", "ic/photo3.jpg", "ic/photo4.jpg", "ic/photo5.jpg"]

//set duration for each image
duration = 4;

ads=[]; ct=0;

function switchAd(){
    var n=(ct+1)%src.length;
    if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
        document["Ad_Image"].src = ads[ct=n].src;
    }

    ads[n=(ct+1)%src.length] = new Image;
    ads[n].src = src[n];
    setTimeout("switchAd()",duration*1000);
}

onload = function(){
    if (document.images)
    switchAd();
}

//-->
</SCRIPT>

<IMG NAME="Ad_Image" SRC="ic/photo1.jpg" BORDER=0>

在此处输入图像描述

4

1 回答 1

0

我已经解决了这个问题,从服务器购买一次调用图像,而不是每次调用它来查看,即我在文档中添加了图像,然后为每个图像添加了一个 src(ONCE - 这意味着从服务器调用它们一次),然后对于每次重复,我显示一个图像并隐藏其他图像!因为如果我在查看的时候给每张图片一个src,那么在服务器请求查看上次调用的图片是否被修改(304响应)时,服务器可能会很慢,从而导致延迟查看!谢谢 :)

于 2013-10-28T21:55:23.897 回答