在除IE7以外的浏览器中,移除iframe边框没有问题...
我的问题是: 如何在使用IE7打开页面时去除/隐藏iframe边框?
在除IE7以外的浏览器中,移除iframe边框没有问题...
我的问题是: 如何在使用IE7打开页面时去除/隐藏iframe边框?
frameborder='0' border='0' style="border:0;"
没有起作用吗?
试试这个。它将查找任何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.
}
}