刷新多个iframe

时间:2019-02-22 21:54:29

标签: javascript iframe refresh session-storage

我有一个包含多个iframe的页面。 iframe正在从安全摄像头抓取jpeg图像。我希望iframe每7秒刷新一次,但40次刷新后超时。我正在使用sessionstorage作为我的柜台。这是我到目前为止构建的。但是,iframe不会刷新。

<title>Oak Sec Cams (low-rez)</title>
<center><font color ="blue"> Oakland Security Cams (<b>Medium</b> / <a  href="tiny.html">Small</a>)</center>
<script type="text/javascript">

var intervalID = 0;

var iframes = document.getElementsByTagName("iframe");

function windowOnInitialize()
{
intervalID = setInterval(reloadiframes, 7000);
window.sessionStorage.setItem("intervalID", intervalID); 
//alert("we were called");
}

var counter = 0;

function reloadiframes()
{ 
var refreshCounter = window.sessionStorage.getItem("counter");
//alert(refreshCounter);
if (refreshCounter < 40)
{
    refreshCounter++;
    window.sessionStorage.setItem("counter", refreshCounter);
    location.reload();
    //alert(counter);


}
else
{

  clearInterval(intervalID);
window.sessionStorage.clear();

}
}

</script>

1 个答案:

答案 0 :(得分:1)

因此,您的iframe不会每7秒刷新一次的原因是,您实际上并未在代码中的任何地方调用该函数。

public static void main(String[] args) 
{
  Scanner s = new Scanner(System.in);
  String text = s.nextLine();
  String[] entries = text.split(" ");
  for(int i = entries.length-1; i >= 0; i--) 
  {
     System.out.print(Integer.parseInt(entries[i])+ " ");
  }
}

定义了windowOnInitialize函数后,需要将此行添加到脚本底部

function windowOnInitialize() {
  intervalID = setInterval(reloadiframes, 7000);
  window.sessionStorage.setItem("intervalID", intervalID); 
}

此外,由于使用了“ location.reload();”,因此重载iframe功能将无法使用。它将重新加载当前文档,在这种情况下,它就是iframe的持有者。您将需要对iframe元素进行某种迭代,以分别重新加载每个iframe元素。 希望这能使您走上正确的道路:

windowOnInitialize()