我正在尝试通过 JavaScript 将一个 iframe 插入到浏览器 DOM 中,并希望在 IE 中移除边框,但似乎无法实现。我已经尝试了以下方法,但都没有成功:
iframeElement.style.borderStyle="none";
并且iframeElement.style.frameBorder = "0";
非常感谢任何建议。
我正在尝试通过 JavaScript 将一个 iframe 插入到浏览器 DOM 中,并希望在 IE 中移除边框,但似乎无法实现。我已经尝试了以下方法,但都没有成功:
iframeElement.style.borderStyle="none";
并且iframeElement.style.frameBorder = "0";
非常感谢任何建议。
奇怪的是,我今天早些时候也在寻找这个问题的答案。我发现将 frameBorder
属性设置为 0
可以解决此问题,但前提是您在 iframe 添加到文档之前进行设置。
var iframe = document.createElement("iframe");
iframe.frameBorder = 0;
document.body.appendChild(iframe);
// =========================================================================
// 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.
}
}
您还应该能够在HTML中使用“条件注释”,以便仅在IE8中包含“frameborder”属性:
<!--[if IE 8]>
<iframe id="my-iframe" frameborder="0"></iframe>
<![endif-->
<!--[if gt IE 8]><!-->
<iframe id="my-iframe"></iframe>
<!--<![endif]-->