У меня есть фрагмент JavaScript, который вставляет / удаляет iframe из DOM. В Chrome и FireFox все отлично, но в IE не отображается iframe. Код ниже - создание и вставка. При проверке с помощью инструментов разработчика я вижу, что iframe является частью DOM именно так, как я и ожидал. Любое предложение о том, что может привести к тому, что оно не будет отображаться?
function getiFrame(target) {
var frame = document.getElementById(target);
if (null == frame) {
frame = document.createElement("iframe");
frame.setAttribute("width", "100%");
frame.setAttribute("height", "1000px");
//frame.setAttribute("frameborder", "0");
frame.setAttribute("id", target);
frame.setAttribute("name", target);
frame.setAttribute("src", "http://dmi.dk");
} else {
frame.src = "http://dmi.dk";
frame.style.visibility = "visible";
}
return frame;
}
var frame = getiFrame(target);
var row = document.getElementById(contentRowId);
for (var i = 0; row.childNodes.length > 0; i++) {
row.removeChild(row.childNodes[0]);
}
row.appendChild(frame);
EDIT:
Чтобы уточнить, я попытался установить атрибуты напрямую (как это было предложено Тимом Дауном), что выше было результатом моих отчаянных попыток.
Далее при проверке DOM я получаю совершенно правильный тег iframe:
<iframe propdescname="full" width="100%" height="1000" id="full" src="http://dmi.dk">
и проверка, которая также показывает, что он прочитал и проанализировал src (http://dmi.dk) правильно. Я также могу проверить DOM этого сайта.
Так что меня озадачивает то, что, когда все работает. Что может помешать его отображению.