1

我在 Ubuntu 12.04.1 上运行幻灯片,使用 Javascript 和样式加载图像(slide1.jpg、slide2.jpg、slide3.jpg..、slide5.jpg),如下所示:

document.getElementById('slide_area').className='slide'+step;

.slide1{background-image: url(../upload/slide1.jpg)}
.slide2{background-image: url(../upload/slide2.jpg)}
.slide3{background-image: url(../upload/slide3.jpg)}
.slide4{background-image: url(../upload/slide4.jpg)}
.slide5{background-image: url(../upload/slide5.jpg)}

当我更改图像名称(show1.jpg、show2.jpg、show3.jpg..、show5.jpg)并更改样式如下:

.slide1{background-image: url(../upload/show1.jpg)}
.slide2{background-image: url(../upload/show2.jpg)}
.slide3{background-image: url(../upload/show3.jpg)}
.slide4{background-image: url(../upload/show4.jpg)}
.slide5{background-image: url(../upload/show5.jpg)}

在 Chrome 上打开网络部分,我看到服务器正在调用图像的新名称和旧名称!

我在 index.php 中添加了标题:

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); 

我没有解决任何问题,当我更改图像名称时,即使在清除浏览器缓存时幻灯片也无法正常工作,因为我根据 imageObject.complete 属性顺序(一张一张)加载图像!但是在不更改名称的情况下,一切都很完美,并且图像加载顺利!

谢谢您的帮助!

4

3 回答 3

1

按 Ctrl+F5 可能会解决您的问题,因为浏览器倾向于缓存 CSS / JavaScript 和图像等静态文件。

于 2013-10-22T16:59:48.397 回答
0

你的问题不是很清楚,但我认为这是被缓存的 CSS 文件。尝试更改 CSS 文件的名称!

于 2013-10-22T16:54:48.677 回答
0

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

于 2013-10-28T21:51:38.403 回答