【发布时间】:2011-04-13 14:45:00
【问题描述】:
我有一段 JavaScript 可以从 DOM 中插入/删除 iframe。 Chrome 和 FireFox 中的一切都是花花公子,但 iframe 不显示在 IE 中。下面的代码是创建和插入。使用开发人员工具进行检查时,我可以看到 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);
编辑: 为了澄清我已经尝试直接设置属性(如 Tim Down 所建议的那样),以上是我绝望尝试的结果。
进一步检查 DOM 时,我得到一个完全有效的 iframe 标记:
<iframe propdescname="full" width="100%" height="1000" id="full" src="http://dmi.dk">
并检查它还表明它已正确读取和解析 src (http://dmi.dk)。我也可以检查那个网站的 DOM。
所以让我感到困惑的是,当一切似乎都正常时。什么可能会阻止它显示。
【问题讨论】:
标签: javascript html internet-explorer dhtml