Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DHTML、iFrame和IE_Javascript_Html_Internet Explorer_Dhtml - Fatal编程技术网

Javascript DHTML、iFrame和IE

Javascript DHTML、iFrame和IE,javascript,html,internet-explorer,dhtml,Javascript,Html,Internet Explorer,Dhtml,我有一段JavaScript,可以在DOM中插入/删除iframe。Chrome和FireFox中的一切都很漂亮,但iframe没有显示在IE中。下面的代码是创建和插入代码。当使用开发人员工具进行检查时,我可以看到iframe完全是DOM的一部分,正如我所期望的那样。关于什么可能导致它不显示的任何建议 function getiFrame(target) { var frame = document.getElementById(target); if (null == frame)

我有一段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()。我也可以检查该站点的DOM


所以让我困惑的是,当一切似乎都在运转的时候。什么可能会阻止它显示。

有一个明显的问题:

frame = document.createElement("div");
应该是

frame = document.createElement("iframe");
此外,
setAttribute
在IE中是不必要的、冗长的和容易出错的。请改用DOM属性:

frame.width = "100%";
frame.height = 1000;
//frame.frameBorder = 0;
frame.id = target;
frame.name = target;
frame.src = "http://vrk.dk";

Jim Coplien将其称为橡胶鸭图案。“在你咨询橡皮鸭之前,你不能问xx”。问别人意见时,谁还没有解决自己的问题

我正在编辑我的文章,说iframe在td中,我开始想我还没有确定它是真的。问题是我删除了td,并将iframe插入到tr中,IE在动态处理时与静态处理时处理方式不同


感谢收听,扮演“橡皮鸭”的角色。

我的打字错误div/iframe没有什么区别。我已经更新了这个问题,使之更清楚。谢谢你指出这一点