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

image-urlに変更パラメータを追加します(例:タイムスタンプ)。

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

スライドショーのソースにタイムスタンプを追加するのではなく、タイムスタンプを使用してpreLoadで画像をキャッシュする必要があると思います

于 2013-01-16T15:30:43.783 に答える