我使用以下脚本更新显示网络摄像头的页面上的图像。网络摄像头图像由FTP拉取。因为我想使用mixitup实现过滤界面,所以我不希望整个页面刷新,因为这将清除任何过滤器。
所以上面的脚本确实有用......有点儿。这里的问题是图像URL最终会变得太长并且不会显示。
是否有人建议如何解决这个问题?
干杯!
function imgRefresh() {
var now = new Date();
for (i = 0; i < document.images.length; i++) {
document.images[i].src = document.images[i].src + "?" + now.getTime();
}
setTimeout('imgRefresh()', 5 * 1000);
}
答案 0 :(得分:0)
将replace
与正则表达式一起使用: -
function imgRefresh() {
var now = new Date();
for (i = 0; i < document.images.length; i++) {
var src = document.images[i].src.replace(/\?\d+/, '');
document.images[i].src = src + '?' + now.getTime();
}
setTimeout(imgRefresh, 5000);
}
/\?\d+/
会查找?,然后是数字,然后会用新时间替换它。
答案 1 :(得分:0)
您可以使用split(),&#34; ?
&#34;作为分隔符并抓取结果的第一部分,这将是原始URL。
示例:
<script language="JavaScript" type="text/javascript">
function imgRefresh() {
var now = new Date();
for(i=0; i<document.images.length; i++) {
document.images[i].src= document.images[i].src.split("?")[0];
document.images[i].src = document.images[i].src + "?"+now.getTime();
}
setTimeout('imgRefresh()', 5*1000);
}
</script>
split()上的文档。