页面加载后IFrame appendChild缺少子项

时间:2018-04-30 04:02:01

标签: javascript iframe

我有一个IFrame,我动态加载内容,一旦内容加载,我需要在内容后添加几个div。有两个问题我无法解决。

一,AddIFrameIncludes被调用两次(addEventListener只被调用一次)。

二,当我调试并在appendChild之后停止时,我可以看到新的div已被添加到IFrame(两次)但是当我允许代码完成并检查iframe时,新的div不再存在。

<iframe id="helpBody" class="content" name="topic" frameborder="0" style="display: block;" src="LandingPage.html"></iframe>

LFANavi.AddIFrameIncludes = function () {
  makeRequest('GET', 'iFrameIncludes.html')
    .then(function (data) {
      let myIFrame = document.getElementById("helpBody");
      if (myIFrame) {
        let newDiv = document.createElement("DIV");
        newDiv.innerHTML=data.responseText;
        myIFrame.contentDocument.getElementsByTagName("body")[0].appendChild(newDiv);
      }
    })
}

LFANavi.SetIFrame = function (fileName) {
  let myIFrame = document.getElementById("helpBody");
  if (myIFrame) {
    myIFrame.removeEventListener("load", LFANavi.AddIFrameIncludes()); //Should I do this?
    myIFrame.addEventListener("load", LFANavi.AddIFrameIncludes(), true);
    myIFrame.contentWindow.focus();
    myIFrame.setAttribute('src', fileName);
  }
}

0 个答案:

没有答案
相关问题