刷新页面

时间:2016-05-27 10:15:39

标签: javascript

我使用以下脚本更新显示网络摄像头的页面上的图像。网络摄像头图像由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);
}

2 个答案:

答案 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()上的文档。