有显示上边框iframe
,我无法摆脱它。
IE 6和打算与一些JavaScript 7工作:
function test(){
var iframe = document.getElementById('frame2');
iframe.contentWindow.document.body.style.backgroundColor = "#a31d1d";
iframe.contentWindow.document.body.style.border = "#a31d1d";
iframe.contentWindow.document.body.style.outlineColor = "#a31d1d";
}
但边界仍然在IE 8中可见。
添加以下属性iframe标签:
marginheight="0" marginwidth="0" frameborder="0"
我曾与动态创建的I帧同样的问题,而事实证明,设置边框属性之后加入的iframe的文档没有任何影响:
下面的代码显示三维边框:
var iframe = document.createElement("IFRAME");
iframe.src = "http:www.stackoverflow.com";
//Iframe added BEFORE setting border properties.
document.body.appendChild(iframe);
iframe.frameBorder = "no";
但是,这实际上删除它:
var iframe = document.createElement("IFRAME");
iframe.src = "http:www.stackoverflow.com";
iframe.frameBorder = "no";
//Iframe added AFTER setting border properties.
document.body.appendChild(iframe);
希望这将有助于解决您的问题。
我想变化的负荷就这个想法,并最终使用这些方针的东西。 想我会分享它。
<script type="text/javascript">
url = 'http://www.dollypower.com';
title = 'Dolly Power';
width = '660';
height = '430';
document.write('<iframe src='+url+' title='+title+' width='+width+' height='+height+' frameborder=0></iframe>');
</script>
然后我用脚本标记,进入非JS的用户,即一种替代方案:
<noscript><p><a href="http://www.dollypower.com" target="_blank">Please click here for Dolly Power</a></p></noscript>
我在IE8测试,它是我所有的酷,它也验证。
希望这可以帮助一个人在那里!
成功!
试试这个。 它会找到任何iframe元素,并删除在IE和其他浏览器的边界(尽管你可以设置的风格“边界:无;”在非IE浏览器,而不是使用JavaScript)。 即使在文档中使用后产生的iframe和到位(用纯HTML和JavaScript不加例如I帧),将工作!
这似乎工作,因为IE浏览器创建的边界,而不是你所期望的IFRAME元素,但在iframe的内容 - 在BOM中创建的iframe后。 ($ @&*#@!IE !!!)
注意:如果父窗口和iframe来自相同的来源(同一域,端口,协议等)的IE部分将只(当然)工作。 否则,脚本会得到“拒绝访问”的IE错误控制台的错误。 如果出现这种情况,你唯一的选择是设置它生成之前,正如其他人所指出的,或者使用非标准FRAMEBORDER =“0”属性。 (或者只是让IE看的fugly - 我目前最喜欢的选择;))
把我的工作绝望的点摸不着头脑的几个小时...
请享用。 :)
// =========================================================================
// 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去与样品JS会有所帮助=)
尝试使用(你有问题,在页面上按F12)IE8的开发工具来隔离被应用到IFRAME什么风格。 您也可以使用样式有发挥,以减少你的迭代时间。
请记住,这可能是IE在CSS不尊重边框设置, 而属性的传统设置BORDER=0
iframe元素上可以正常工作。 值得一试,至少。
编辑:它看起来像什么呢解决问题设置FRAMEBORDER =“0” iframe元素上。 这工作对我来说,至少。
如果你希望你的代码来验证你可以用JavaScript做到这一点。 我找到了完美的答案时,我有这个问题,几个月前这里
var iframe = document.createElement("iframe");
iframe.src = "banner_728x90.gif";
iframe.width = "728";
iframe.height = "90";
iframe.frameBorder = "0";
iframe.scrolling = "no";
document.body.appendChild(iframe);
F你要加载其他页面中的iframe无缝如果你复制你能做到这一点,将此代码粘贴到您的网页的头部。 我发现它有免费的脚本的站点。 性能在大多数情况下良好
function getDocHeight(doc) {
doc = doc || document;
var body = doc.body, html = doc.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );
return height;
}
function setIframeHeight(id) {
var ifrm = document.getElementById(id);
var doc = ifrm.contentDocument? ifrm.contentDocument: ifrm.contentWindow.document;
ifrm.style.visibility = 'hidden';
ifrm.style.height = "10px"; // reset to minimal height in case going from longer to shorter doc
ifrm.style.height = getDocHeight( doc ) + 10 + "px";
ifrm.style.visibility = 'visible';
}
然后你给你的iframe的ID和呼叫负载脚本。 这是怎么样。
var iframe = document.createElement("iframe");
iframe.setAttribute('id', "ifrm1");
iframe.setAttribute('src', 'http://www.hekcmviw.com/'); // change the URL
iframe.setAttribute('width', '100%');
iframe.setAttribute('height', '10');
iframe.setAttribute('frameBorder', '0');
iframe.setAttribute('scrolling', 'no');
iframe.setAttribute('onload' ,"setIframeHeight(this.id)");
document.body.appendChild(iframe);