我的jsp文件中有以下div
<div id="myDiv">
<img alt="" src="http://localhost:8080/chartDemo/servlet/ChartDemoServlet">
</div>
我想以某个间隔自动刷新图像。
我尝试使用<meta http-equiv="Refresh">
它完美无缺,但刷新了整个页面。
如何仅刷新图像?
答案 0 :(得分:4)
我想在某个时间间隔自动刷新该div。
用什么内容?或者img
每次都会改变吗?
如果是这样的话:
setInterval(function() {
$("#myDiv").html('<img alt="" src="http://localhost:8080/chartDemo/servlet/ChartDemoServlet">');
}, 1000);
...如果img
的{{1}}网址返回的数据的缓存标头正确,则应该每秒一次(1000毫秒= 1秒),否则,浏览器可以缓存早期版本)。这样做是完全拆除src
的内容,然后为其分配给定的标记,这应该重新创建div
元素并导致重新获取(再次,如果标题是正确的)。
答案 1 :(得分:3)
setInterval(function() {
// use to prevent browser cache
var d = new Date();
$("#myDiv img").attr("src", "http://localhost:8080/chartDemo/servlet/ChartDemoServlet?"+d.getTime());
}, 3000); // every 3 seconds.
答案 2 :(得分:0)
您需要使用window.setInterval计时器。在该函数中,您可以更改img src。 像这样的东西
//timer function
window.setInterval(refreshImage,1000);
function refreshImage()
{
$('#urdiveid img').attr('src')='new location';
}
答案 3 :(得分:0)
<div id="myDiv" onload="JavaScript:timedRefresh(5000);">
<img alt=""
src="http://localhost:8080/chartDemo/servlet/ChartDemoServlet">
</div>
把它放在javascript中
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
答案 4 :(得分:0)
可以使用JavaScript超时功能
完成var t=setTimeout("functiontoCall()", 3000)
您可以在FunctiontoCall()
中编写自己的内容,以加载myDiv
中的内容。它可以是ajax调用或简单的Dom操作