0

我的网络摄像头每 10 秒将图像上传到我的网站并将其命名为 live.jpg ...我正在寻找一种方法来每 10 秒刷新一次图像(以显示最新图像),但图像正在被缓存而不是更新. 这是我正在使用的旧javascript不起作用....是否可以对其进行简单的修改以绕过缓存图像?非常感谢您的任何建议:

<script type="text/javascript">
// (C) 2000 www.CodeLifter.com
// http://www.codelifter.com
// Free for all users, but leave in this  header
// NS4-6,IE4-6
// Fade effect only in IE; degrades gracefully

// =======================================
// set the following variables
// =======================================

// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 10000

// Duration of crossfade (seconds)
var crossFadeDuration = 1

// Specify the image files
var Pic = new Array() // don't touch this
// to add more images, just continue
// the pattern, adding to the array below

Pic[0] = 'http://www.examplesite.com/live.jpg'

// =======================================
// do not edit anything below this line
// =======================================

var t
var j = 0
var p = Pic.length

var preLoad = new Array()
for (i = 0; i < p; i++){
   preLoad[i] = new Image()
   preLoad[i].src = Pic[i]
}

function runSlideShow(){
   if (document.all){
      document.images.SlideShow.style.filter="blendTrans(duration=2)"
      document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
      document.images.SlideShow.filters.blendTrans.Apply()
   }
   document.images.SlideShow.src = preLoad[j].src
   if (document.all){
      document.images.SlideShow.filters.blendTrans.Play()
   }
   j = j + 1
   if (j > (p-1)) j=0
   t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>
4

2 回答 2

3

将更改参数添加到图像 URL,例如时间戳:

document.images.SlideShow.src = preLoad[j].src+'?'+new Date().getTime();
于 2012-12-17T03:30:13.120 回答
0

我认为您应该使用时间戳在 preLoad 中缓存图像,而不是将时间戳添加到 Slideshow 的源中

于 2013-01-16T15:30:43.783 回答