尝试使用javascript设置图像刷新自己一定次数,然后停止(以避免生成大量缓存)。这段代码虽然不起作用,所以不确定缺少什么?
<script>
var c = 0;
function fnSetTimer()
{
document.getElementById('refreshimage1').src='http://68.116.42.142:8080/cam_4.jpg?\'+new Date().getMilliseconds();
var t = setTimeout(fnSetTimer,5000);
c=c+1;
if(c>5)
clearTimeout(t);
}
</script>
<img src="http://68.116.42.142:8080/cam_4.jpg"; id="refreshimage1" onload="fnSetTimer()" width="400" />
但是,此代码确实有效:
<img src="http://68.116.42.142:8080/cam_4.jpg"; id="refreshimage2" onload="setTimeout('document.getElementById(\'refreshimage2\').src=\'http://68.116.42.142:8080/cam_4.jpg?\'+new Date().getMilliseconds()', 5000)" width="400" />
因此,如果您并排放置,则底部图像将刷新(无限期),但顶部图像只加载一次并且永不刷新。我在顶级代码中错过了哪些想法?
答案 0 :(得分:1)
问题是该函数重新加载图像,调用该函数重新加载图像...
你的图片网址也有问题 - '\'用于转义特殊字符,如果你想要斜线,你需要两个 - '\\'
将它放在你的标题中
<script language="javascript">
function fnSetTimer(image, src, counter, limit)
{
image.onload = null;
if(counter < limit)
{
counter++;
setTimeout(function(){ fnSetTimer(image, src, counter, limit); },5000);
image.src= src+ '?\\'+new Date().getMilliseconds();
alert(counter); // show frame number
}
}
</script>
把它放在身上
<img src="http://68.116.42.142:8080/cam_4.jpg"; id="refreshimage1" onload="fnSetTimer(this, this.src, 0, 5);" width="400" />
这应该为你解决它 - 它只触发onLoad一次然后循环5次,你应该能够在Wordpress中编辑图像标签等。
请确保您为每张图片提供不同的身份