关于Iframe在IE6下不显示的bug

IE都出到IE8了,用IE6的人渐渐少了..但还是存在的.例如QAMM们在用.

所以,IE6下存在的问题也必须解决.这两天,我就遇到一个了:

 

复制代码
html
<table>
    
<tr>
        
<td id="tdTest" runat="server">
            
<iframe id="ifrTest" height="100%" runat="server"></iframe>
        
</td>
    
</tr>
</table>
复制代码

 

Code
    protected void Page_Load(object sender, EventArgs e)
    {
        
this.ifrTest.Attributes.Add("src""ie6.aspx");
    }

 

很简单的代码,就是嵌套一个Iframe,后台绑定Iframe显示页面内容,简单得很呢.可是,这么简单的代码在IE6下就死活不显示!!

为什么呢?问题就出现在那个height="100%"上了,在IE6下height不知是取不到还是取到td原来那个未给src赋值之前的0.反正就死活不显示.

知道是这个问题,就简单了..解决办法有N种:

1.去掉height="100%",不过不设置高度iframe显示不如人意.

2.后台给td或者iframe设置一个固定值:

 

Code2
this.tdTest.Height = "200px";

 

3.前台动态设置iframe的height:

 

Code3
this.ifrTest.Attributes.Add("onload""iframeAutoHeight(this)");

 

前台还得加上:(以下这段js来自网络)

 

复制代码
script
function iframeAutoHeight(obj)
{
    
var id = obj.id;
    
var subWeb = document.frames ? document.frames[id].document : obj.contentDocument;   
    
if(obj != null && subWeb != null)
    {
        obj.height 
= subWeb.body.scrollHeight;
    }   
}   
复制代码

 

4.自己想吧....

 

另外,网络上有说IE6下scr属性排在第一位就不能显示,但是我死活尝试不出来.如果谁知道,欢迎指教:kenblove#gmail.com

 

posted @   KenBlove  阅读(3790)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示