IFrame appendChild отсутствует дочерний элемент после загрузки страницы - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть IFrame, в который я динамически загружаю контент, после того, как контент был загружен, мне нужно добавить пару div-ов после контента. Есть две проблемы, которые я не могу решить.

One, 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);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...