JavaScript重新加载功能无法正常工作

JavaScript重新加载功能无法正常工作,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在我的网页上,我有一段JavaScript,每三秒重新加载/刷新一个iframe window.setInterval(function() { reloadIFrame() }, 3000); function reloadIFrame() { var frame = document.getElementById("iframe"); var len = frame.getElementsByTagName("TABLE").length; if

在我的网页上,我有一段JavaScript,每三秒重新加载/刷新一个iframe

window.setInterval(function() {
      reloadIFrame()
  }, 3000);

  function reloadIFrame() {
    var frame = document.getElementById("iframe");
    var len = frame.getElementsByTagName("TABLE").length;
    if ( len == 0 ){
      console.log('reloading..');
      document.getElementById('iframe').contentWindow.location.reload();
    }
  }
但是,我不希望该函数在iframe中存在一个表时工作,并且它在有表时仍然运行。请让我知道,如果有什么我错过或您的建议替代解决方案


(我确实相信我引用的iframe是localhost:8000上本地的。如果有必要,我正在与Django合作,这是模板的一部分。)

对于任何有类似问题的人:

正如charlietfl对原始帖子的评论一样,
contentWindow
没有被引用。我下面修改的代码现在可以工作了:

window.setInterval(function() {
      reloadIFrame()
  }, 3000);

  function reloadIFrame() {
    var frame = document.getElementById("iframe");
    var len = frame.contentWindow.document.getElementsByTagName("TABLE").length;
    if ( len == 0 ){
      console.log('reloading..');
      document.getElementById('iframe').contentWindow.location.reload();
    }
  }

我只需要在
frame

之后添加
contentWindow.document
,就可以解决类似问题:

正如charlietfl对原始帖子的评论一样,
contentWindow
没有被引用。我下面修改的代码现在可以工作了:

window.setInterval(function() {
      reloadIFrame()
  }, 3000);

  function reloadIFrame() {
    var frame = document.getElementById("iframe");
    var len = frame.contentWindow.document.getElementsByTagName("TABLE").length;
    if ( len == 0 ){
      console.log('reloading..');
      document.getElementById('iframe').contentWindow.location.reload();
    }
  }

我只需要在
frame
之后添加
contentWindow.document

Bhojendra Nepal,如果可以的话,你能帮我理解为什么这样做吗?你不是在iframe窗口内寻找table@charlietfl非常感谢。你能告诉我我需要换什么东西才能看到窗户里面吗?(对不起,我是JavaScript新手,主要只使用Python,所以这对我来说有点陌生)请确保iframe位于同一个域上,否则您无法访问其内部内容。@Reflective,谢谢!对我来说,情况似乎不是这样的,如果可以的话,你能帮我理解为什么会这样吗?你没有在iframe窗口内寻找table@charlietfl非常感谢。你能告诉我我需要换什么东西才能看到窗户里面吗?(对不起,我是JavaScript新手,主要只使用Python,所以这对我来说有点陌生)请确保iframe位于同一个域上,否则您无法访问其内部内容。@Reflective,谢谢!对我来说,情况似乎并非如此,尽管如果不遵循并正确设置同一来源策略,您可能会收到保护错误。如果不遵循并正确设置同一来源策略,您可能会收到保护错误