惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
博客园_首页
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
腾讯CDC
罗磊的独立博客
IT之家
IT之家
I
InfoQ
V
V2EX
博客园 - 叶小钗
A
About on SuperTechFans
Y
Y Combinator Blog
C
Check Point Blog
量子位
Martin Fowler
Martin Fowler
Vercel News
Vercel News

博客园 - 小二哥

Linq To SQL 针对单张表,有关系的2张表做查询 请问:MOSS使用中机器名与IP地址的问题 MOSS: 如何根据AD帐号判断该用户是否属于网站用户? 在SQL数据库中构造树,直接显示在.Net的DropDownList里 今天解决了K2工作流的,会签与并签问题 钱额的大小写转换的JS代码 郁闷了半个下午的javascript 滑动条的风格控制 DropDownList的SelectedValue和SelectedIndex asp.net页面的Page_Load执行两次 分析器错误:访问被拒绝....... 论坛登录页面 今天遇到的几个问题以及解决方法 K2自定义工作流程 .Net中几个容易混淆的概念 郁闷到极点了,VSTO2005问题 ajax实现无刷新两级联动DropDownList 如何从XML字符串获取DataSet Ajax的简单配置与应用.
iframe自适应问题
小二哥 · 2006-07-29 · via 博客园 - 小二哥

有时候会在页面里使用框架,但又不想叫它出现滚动条,这就用到了自适应。
架设default.aspx页面里使用了Iframe,它的ID: iframe1,src指向a.aspx

<IFRAME id="iframe1" name="iframe1" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="no" src="a.aspx"
runat
="server"></IFRAME>

那么在default里使用如下脚本:

function dyniframesize(iframename) 
{
    
var pTar = null;
    
if (document.getElementById)
    
{
        pTar 
= document.getElementById(iframename);
    }

    
else{
        eval('pTar 
= ' + iframename + ';');
    }

    
if (pTar && !window.opera)
    
{
        pTar.style.display
="block"
        
if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight)
        
{
            pTar.height 
= pTar.contentDocument.body.offsetHeight+10
        }

        
else if (pTar.Document && pTar.Document.body.scrollHeight)
        
{
            pTar.width 
= pTar.Document.body.scrollWidth;
            pTar.height 
= pTar.Document.body.scrollHeight;
            
        }

    }

}

在body里增加:
onload="dyniframesize('iframe1')"

即可达到当我们打开default.aspx,使得a.aspx自适应大小。
还存在一个问题,当点击a.aspx里的按钮时,需要重新计算他的父页面中的iframe的大小,达到
刷新a.aspx时,页面依然自适应。

function dyniframesize() 
{
    
var pTar = null;
    
if (document.getElementById)
    
{
//仅仅修改此句代码:        
pTar = window.parent.document.getElementById("iframe1");
    }

    
else{
        eval('pTar 
= ' + iframename + ';');
    }

    
if (pTar && !window.opera)
    
{
        pTar.style.display
="block"
        
if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight)
        
{
            pTar.height 
= pTar.contentDocument.body.offsetHeight+10
        }

        
else if (pTar.Document && pTar.Document.body.scrollHeight)
        
{
            pTar.width 
= pTar.Document.body.scrollWidth;
            pTar.height 
= pTar.Document.body.scrollHeight;
            
        }

    }

}

同样在a.aspx的body里加载这个函数。
onload="dyniframesize()"