js 定时刷新图片不生效

2021-01-03 12:00:54 +08:00
 yagamil

代码用网上别人的,结果是进去了定时执行代码,可是图片还是旧的,不会定时刷新.

<canvas id="myCanvas" width="472" height="472" style="border:1px solid #c3c3c3;">
	Your browser does not support the canvas element.
</canvas>

<FONT SIZE=1 id="F1"></FONT>
<FONT SIZE=1 id="F2"></FONT>



<script>
	var i_height = 472;
	var i_width = 472;
	var pic = document.getElementById("myCanvas");
	pic.style.height = i_height + "px";
	pic.style.width = i_width + "px";
</script>

<script type="text/javascript">
	var n = 0;
	var image = new Image();//放入函数里面:浏览器运行一分钟左右系统内存用到高达 90%,故做一个全局的反冲图片
	function changeImage() {
		var canvas = document.getElementById("myCanvas");
		var cxt = canvas.getContext("2d");
		//ctx.restore();
		image.src = "/static/wx_login1.jpg";
		image.onload = function () //确保图片已经加载完毕
		{
			n = n + 1;
			n = n % 100;
			document.getElementById("F1").innerHTML = "刷新:" + n;
			if (image.complete)//如果图片加载完成,绘制
				cxt.drawImage(image, 0, 0);
			else
				alert(image.complete);

		}
		image.onerror = function () {
			document.getElementById("F2").innerHTML = "error N:" + n;
		};
		//ctx.save();
	}

	setInterval("changeImage();", 2000);
</script>
1061 次点击
所在节点    Python
2 条回复
Lax
2021-01-03 12:20:52 +08:00
每次执行后 `image.src` 都一样,需要看图片是不是被缓存了。
可以在 URL 里增加一个随机参数。
yagamil
2021-01-03 12:26:37 +08:00
@Lax 谢谢!搞定了. 是这个原因.受教了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/741174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX