Chinaunix首页 | 论坛 | 博客
  • 博客访问: 486676
  • 博文数量: 100
  • 博客积分: 7010
  • 博客等级: 少将
  • 技术积分: 995
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-22 15:44
文章分类

全部博文(100)

文章存档

2006年(90)

2005年(10)

我的朋友

分类: 系统运维

2006-03-05 19:59:07

HTML框架学习
一个应用有这样的需求:需要在同一个页上,一个区域的按钮事件能够引起指定另一部分区域的内容变化,所以想到框架,用了一下还蛮方便的。

先说明一下几个重要的概念如下:

:用以划分主视图,即将整个页面首先分为几个大的区域(每个区域是一个单独的.html,.asp,.aspx文件),可多层嵌入

rows: 20%, 80% rows跟在FRAMESET后面,用以划分当前要划分的行数,当前指将页面分成20%和80%上下两部分。

cols: 20%, 80% 同上,将当前页面分成20%和80%左右两部分。



这个是真正说明被框架所包含的单独文件的地方,src:位置,target:目标框架的名字,name:用以被其它页面的target属性所指向。

此标签内的内容是,当用户的浏览器不支持frameset时所显示给用户看的内容。

有了以上的说明,看下面的内容就没有疑问了:

程序代码 程序代码



<BR>这个页面包含框架。需要浏览器支持。 <BR>



//





<BR><BR><body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <BR><p>这个页面包含框架。需要浏览器支持。</p> <BR><script type="text/javascript" src="/js/jquery.qqFace.js"></script> </body> <BR>


如果有一个文件成为多个链接的目标时(比如说一个html文件,被多个frame 的target属性所指定,作为替代在每一个frame里指定target属性的方法如下:,目标名称必须以字母开始。

上面的html文件里面跟在FRAME后的scrolling,noresize,frameborder,weight,height是它的一些常用属性,试试就知道了。

frameset的部分属性的意义如下:

name-- name of frame for targetting
src-- source of frame content
frameborder(1|0) -- request frame borders
marginwidth -- margin widths in pixels
marginheight -- margin height in pixels
scrolling (yes|no|auto) -- scrollbar or none
align -- vertical or horizontal alignment
height -- suggested height
width -- suggested width

除此以外,还有一个iframe的概念:用以在html文件中嵌入文件。示例如下:

程序代码 程序代码


1.aspx



其常用的属性如下:

name:内嵌帧名称
width:内嵌帧宽度(可用像素值或百分比)
height:内嵌帧高度(可用像素值或百分比)
frameborder:内嵌帧边框
marginwidth:帧内文本的左右页边距
marginheight:帧内文本的上下页边距
scrolling:是否出现滚动条(“auto”为自动,“yes”为显示,“no”为不显示)
src:内嵌入文件的地址
style:内嵌文档的样式(如设置文档背景等)
allowtransparency:是否允许透明

说明:同一页面间的iframe框架内的所有元素均可相互访问,但前提是:所有页面都已被页面正确载入。这是个很好的事情,因为如果只是为了好看而用frameset却失去了互访能力就不值得了,至少我这样认为。

不过使用iframe也是有限制了,比如iframe的一些透明效果就需要浏览器支持的:

像以下的代码如果IE版本低于5.5就看不到效果了:

程序代码 程序代码




可惜的是,在iframe里没有target属性来指定目标了。
而且关于iframe的使用也会使得制作网页的人有可能利用其溢出漏洞而攻击浏览者:
具体地讲,一个叫做SHDOCVW.DLL的负责翻译IFRAME、FRAME和EMBED标记的通用Windows DLL文件受到缓冲溢出攻击的影响。恶意人员通过构造一个恶意的HTML文件,在其 IFRAME 标记中的“SRC”和“NAME”参数包含超长字符串,就可以引发缓冲区溢出攻击。成功利用该漏洞可以执行任意代码。当用户浏览HTML网页或查看HTML格式的邮件时,如果其中包含恶意构造的HTML标记,有可能系统会被恶意人员远程接管。


[本日志由 曾鸿 于 2005-11-27 10:03 PM 编辑]
文章来自:
引用通告地址: http://lespoirzzy.vicp.net:8080/pjblog2/trackback.asp?tbID=17
Tags:
阅读(1222) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-12-15 23:04:44