重载& lt; img>元素来自同一来源
Reload <img> element from same source
我在URL http://192.168.1.53/html/cam.jpg上有一个图像(来自树莓派),这个图像变化非常快(它来自相机)。
所以我想在网站上使用一些JavaScript让它每秒重新加载这个图像。例如
我的HTML是:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Pi Viewer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
</head>
<body>
<style>
img,body {
padding: 0px;
margin: 0px;
}
</style>
<img id="img" src="http://192.168.1.53/html/cam.jpg">
<img id="img1" src="http://192.168.1.53/html/cam.jpg">
<script src="script.js"></script>
</body>
</html>
和我的脚本:
function update() {
window.alert("aa");
document.getElementById("img").src = "http://192.168.1.53/html/cam.jpg";
document.getElementById("img1").src = "http://192.168.1.53/html/cam.jpg";
setTimeout(update, 1000);
}
setTimeout(update, 1000);
alert正在工作,但图像没有改变:/(我有两个图像(它们是相同的))
问题是图像src
没有改变,所以图像没有重新加载。
您需要说服浏览器该图像是新的。一个很好的技巧是在url后面附加一个时间戳,这样它总是被认为是新的。
function update() {
var source = 'http://192.168.1.53/html/cam.jpg',
timestamp = (new Date()).getTime(),
newUrl = source + '?_=' + timestamp;
document.getElementById("img").src = newUrl;
document.getElementById("img1").src = newUrl;
setTimeout(update, 1000);
}
相关文章:
- 如何更改<svg>标记为<img>用js标记
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 检索MongoDB binData并显示为<img>src
- AngularJS提取物<img>来自JSON
- 隐藏<img>在移动设备上
- 如何从<img>标记
- HTML5我可以使用<img>其中<来源>
- 做<img>或者<画布>保存对原始(大)dataUrl对象的引用
- 设置& lt; img>用Javascript转换base64编码的图像失败
- 使用& lt; img>图像作为另一个元素的背景
- jQuery -目标.href & lt; a href =“#“祝辞& lt; img> & lt; / a>
- HTML & lt; img>(或JS图像)与通过PHP内联图像(base64_encoded图像)
- 数& lt; img>在
没有id或类
- 禁用& lt; img>在ie9中选择和调整可内容DIV的大小
- 奇怪的& lt; img>位置的行为
- 找到& lt; img>标记在文本字符串内
- 重载& lt; img>元素来自同一来源
- onerror & lt; img>标签属性总是在IE中触发,为什么?
- 解析& lt; img>SRC属性在