如何在IE7中去除iframe边框?

6

在除IE7以外的浏览器中,移除iframe边框没有问题...
我的问题是: 如何在使用IE7打开页面时去除/隐藏iframe边框?

2个回答

15

frameborder='0' border='0' style="border:0;" 没有起作用吗?


2
我必须将frameborder中的B大写才能使其正常工作,因此您应该这样写:frameBorder="0"。 - Sean
你从来没有把它大写过。你确定需要吗? - meder omuraliev

1

试试这个。它将查找任何iframe元素并在IE和其他浏览器中删除它们的边框(尽管您可以在非IE浏览器中设置样式为“border:none;”而不是使用JavaScript)。即使在生成并放置文档中的iframe之后使用,它也可以工作(例如,在纯HTML中添加的iframe而不是JavaScript)!

这似乎有效,因为IE会在iframe元素上创建边框,而不是像您期望的那样在iframe的内容上创建边框-在BOM中创建iframe之后。($@&*#@!!! IE!!!)

注意:如果父窗口和iframe来自相同的源(相同的域,端口,协议等),则IE部分仅适用(当然)。否则,脚本将在IE错误控制台中收到“访问被拒绝”的错误。如果发生这种情况,您唯一的选择是在生成之前进行设置,如其他人所指出的,或使用非标准的frameBorder =“0”属性。(或者让IE看起来很丑-我的当前最喜欢的选项;))

我花了很多时间才能工作到绝望的地步才弄清楚这一点...

享受吧。:)

// =========================================================================
// Remove borders on iFrames

if (window.document.getElementsByTagName("iframe"))
   {
      var iFrameElements = window.document.getElementsByTagName("iframe");
      for (var i = 0; i < iFrameElements.length; i++)
         {
            iFrameElements[i].frameBorder="0";   //  For other browsers.
            iFrameElements[i].setAttribute("frameBorder", "0");   //  For other browsers (just a backup for the above).
            iFrameElements[i].contentWindow.document.body.style.border="none";   //  For IE.
         }
   }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接