iframe学习总结

iframe标签用法详解(属性、透明、自适应高度)



iframe一般用来包含别的页面,例如我们可以在我们自己的网站页面加载别人网站的内容,为了更好的


效果,可能需要使iframe透明效果,那么就需要了解更多的iframe属性,这里简单的整理下,


1、iframe 定义和用法 


iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。 


HTML 与 XHTML 之间的差异 


在 HTML 4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支持 iframe 元素。 


提示和注释: 


提示:您可以把需要的文本放置在 <iframe> 和 </iframe> 之间,这样就可以应对无法理解 iframe 的


浏览器。 


iframe标签是成对出现的,以<iframe>开始,</iframe>结束 


iframe标签内的内容可以做为浏览器不支持iframe标签时显示 


属性 
属性 描述 DTD
align
left
right
top
middle
bottom
不赞成使用。请使用样式代替。
规定如何根据周围的元素来对齐此框架。
TF
frameborder
1
0
规定是否显示框架周围的边框。 TF
height
pixels
%
规定 iframe 的高度。 TF
longdesc URL 规定一个页面,该页面包含了有关 iframe 的较长描述。 TF
marginheight pixels 定义 iframe 的顶部和底部的边距。 TF
marginwidth pixels 定义 iframe 的左侧和右侧的边距。 TF
name frame_name 规定 iframe 的名称。 TF
scrolling
yes
no
auto
规定是否在 iframe 中显示滚动条。 TF
src URL 规定在 iframe 中显示的文档的 URL。 TF
width
pixels
%
定义 iframe 的宽度。 TF
示例 


复制代码代码如下:


<iframe src="http://www.jb51.net" width="200" height="500"> 
脚本之家使用了框架技术,但是您的浏览器不支持框架,请升级您的浏览器以便正常访问脚本之家。 
</iframe> 


使用像素定义iframe框架大小 


复制代码代码如下:


<iframe src="http://www.baidu.com" width="20%" height="50%"> 
脚本之家使用了框架技术,但是您的浏览器不支持框架,请升级您的浏览器以便正常访问脚本之家。 
</iframe> 


使用百分比定义iframe框架大小 


2、iframe 透明


在transparentBody.htm文件的<body>标签中,我已经加入了style="background-color=transparent" 


通过以下四种IFRAME的写法我想大概你对iframe背景透明效果的实现方法应该会有个清晰的了解: 


复制代码代码如下:


<IFRAME ID="Frame1" SRC="transparentBody.htm" allowTransparency="true"></IFRAME> 
<IFRAME ID="Frame2" SRC="transparentBody.htm" allowTransparency="true" STYLE="background-


color: green"> </IFRAME> 
<IFRAME ID="Frame3" SRC="transparentBody.htm"></IFRAME> 
<IFRAME ID="Frame4" SRC="transparentBody.htm" STYLE="background-color: green"> </IFRAME> 




iframe是迫不得已才使用的,因为使用iframe会带来较多的问题,而有的浏览器可以设置将iframe当作


广告屏蔽。 


在最近的一个工作内容中使用了iframe,开始遇到的问题是iframe高度自适应的问题,这问题在口碑网


ued团队博客中找到了解决办法,后来更遇到一个iframe透明的问题 


通常 iframe底色会是白色,在不同浏览器下可能会有不同的颜色 


如果主页面有一个整体的背景色或者背景图片的时候 


iframe区域便会出现一个白色块,与主体页面不协调,这就需要iframe透明 


通过google搜索iframe透明找到了解决办法 


复制代码代码如下:


<iframe src="./ads_top_tian.html" allowtransparency="true" style="background-


color=transparent" title="test" frameborder="0" width="470" height="308" 


scrolling="no"></iframe>当然前提是iframe页面中没有设置颜色 
[code] 
注:iframe透明主要是使用了 allowtransparency="true" style="background-color=transparent" 
<strong>3、iframe自适应高度
</strong>由于篇幅过长,大家可以移步这里查看 
<a target="_blank" 


href="http://www.jb51.net/article/15780.htm">http://www.jb51.net/article/15780.htm</a>
<strong>4、通过js输出iframe广告代码
</strong>[code] 
document.write('<iframe align=middle marginwidth=0 marginheight=0 


src="http://img.jb51.net/imgby/468_1.htm" frameborder=no scrolling=no width=660 


height=80></iframe>'); 


5、有时候我们需要考虑用户的浏览器是否支持iframe标签,那么就需要如下的写法


复制代码代码如下:


<iframe frameborder="0" name="Iframe1" src="http://www.jb51.net/" width="100%" 


height="200">
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。
</iframe>
========

iframe如何刷新的三种实现方案



iframe如何刷新一直都被网友所关注,接下来为大家详细介绍下三种:用iframe的name属性定位/id属性


定位/当iframe的src为其它网站地址时,


代码如下:


<iframe src="1.htm" name="ifrmname" id="ifrmid"></iframe> 


方案一: 
用iframe的name属性定位 


复制代码代码如下:


<input type="button" name="Button" value="Button" οnclick="document.frames


('ifrmname').location.reload()">或 
<input type="button" name="Button" value="Button" 


οnclick="document.all.ifrmname.document.location.reload()"> 


方案二: 
用iframe的id属性定位 


复制代码代码如下:


<input type="button" name="Button" value="Button" οnclick="ifrmid.window.location.reload


()"> 


终极方案: 
当iframe的src为其它网站地址(跨域操作时) 


复制代码代码如下:


<input type="button" name="Button" value="Button" οnclick="window.open


(document.all.ifrmname.src,'ifrmname','')"> 
========

iframe的src赋值问题(服务器端)



frame的src赋值的问题,本文将进行详细探讨:服务器端的iframe重新src重新赋值,给iframe加一个ID,


再加上runat=server, 


今天遇到这个问题,服务器端的iframe重新src重新赋值,给iframe加一个ID,再加上runat=server 


1.通过JS 给 iframe 的src 赋值 


2.如果需要在C# 后台,页面加载时就改变iframe的src 可以通过 


如<iframe id="ifram" runat=server >申请为服务器端控件 
在程序里写 


复制代码代码如下:


ifram.Attributes.Add("src",strUrl); 


strUrl是个string可以任意赋值了。
========

iframe的src设置为about:blank之后细节探讨



不设置为about:blank,内存不会释放掉。还必须用 iframe.document.write(''); 这样才能将内容清空


,本文将详细探讨一下iframe的src设置为about:blank之后细节, 


设置 iframe 的 src 为 'about:blank' 之后,不置为“about:blank”,内存不会释放掉。还必须用 


iframe.document.write(''); 
这样才能将内容清空,但是这样处理之后任然会有500-1000K左右的内存残留,这就是ie6的iframe bug


,动态创建的iframe总会耗费掉一些内存。 


复制代码代码如下:


function clearIframe(id){ 
var el = document.getElementById(id), 
iframe = el.contentWindow; 
if(el){ 
el.src = 'about:blank'; 
try{ 
iframe.document.write(''); 
iframe.document.clear(); 
}catch(e){}; 
//以上可以清除大部分的内存和文档节点记录数了 
//最后删除掉这个 iframe 就哦咧。 
document.body.removeChild(el); 
} } clearIframe('iframe_id'); 
========
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值