У меня есть 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);
}
}