用IFRAME实现网页的内嵌和预载

用IFRAME实现网页的内嵌和预载
在HTM(HTML)文件中是否可以像PHP、ASP文件一样嵌入其他文件呢?下面笔者介绍用iframe来实现的方法。
iframe元素的功能是在一个文档里内嵌一个文档,创建一个浮动的帧。其部分属性简介如下:

name:内嵌帧名称
width:内嵌帧宽度(可用像素值或百分比)
height:内嵌帧高度(可用像素值或百分比)
frameborder:内嵌帧边框
marginwidth:帧内文本的左右页边距
marginheight:帧内文本的上下页边距
scrolling:是否出现滚动条(“auto”为自动,“yes”为显示,“no”为不显示)
src:内嵌入文件的地址
style:内嵌文档的样式(如设置文档背景等)
allowtransparency:是否允许透明
明白了以上属性后,我们可用以下代码实现,在main.htm中把samper.htm文件的内容显示在一个高度为80、宽度为100%、自动显示边框的内嵌帧中:
〈iframe name="import_frame" width=100%
height=80 src="https://www.it610.com/article/samper.htm" frameborder=auto〉
〈/iframe〉
不错吧,马上“Ctrl+C”、“Ctrl+V”试试。
有时我们为强调页面的某项内容,想让它先于页面的其他内容显示。同样用iframe即可轻松实现:
先把要强调显示的内容另存为一个文件,如first.htm,然后通过一个预载页index.htm,内容如下:
〈meta http-equiv="refresh" content="3,url=index2.htm"〉
〈body〉
页面加载中,请稍候……〈iframe src="https://www.it610.com/article/first.htm" style="display:none"〉〈/iframe〉
〈/body〉
主文件index2.htm
〈body〉
〈iframe src="https://www.it610.com/article/first.htm"加入其他属性限制〉〈/iframe〉
〈/body〉
first.htm的内容就会先于页面的其他内容出现在您的浏览器里了
//META标签的奥妙
META标签,是HTML语言head区的一个辅助性标签。在几乎所有的page里,我们都可以看
到类似下面这段html代码:
-----------------------------------------------



-----------------------------------------------
这就是meta标签的典型运用。meta标签有多少参数,有什么作用,为什么我们要特别重
视它呢?让我们一起来发掘meta标签的奥妙!
根据HTML语言标准注释:meta标签是对网站发展非常重要的标签,它可以用于鉴别作者,
设定页面格式,标注内容提要和关键字,以及刷新页面等等。
meta标签分两大部分:HTTP-EQUIV和NAME变量。
●HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确
地显示网页内容。常用的HTTP-EQUIV类型有:
1.expires(期限)
说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。
用法:
注意:必须使用GMT的时间格式。
2.Pragma(cach模式)
说明:禁止浏览器从本地机的缓存中调阅页面内容。
用法:
注意:这样设定,访问者将无法脱机浏览。
3.Refresh(刷新)
说明:需要定时让网页自动链接到其它网页的话,就用这句了。
用法:
注意:其中的5是指停留5秒钟后自动刷新到URL网址。
4.Set-Cookie(cookie设定)
说明:如果网页过期,那么存盘的cookie将被删除。
用法:
注意:必须使用GMT的时间格式。
5.Window-target(显示窗口的设定)
说明:强制页面在当前窗口以独立页面显示。
用法:
注意:用来防止别人在框架里调用你的页面。
5.Content-Type(显示字符集的设定)
说明:设定页面使用的字符集。(我们在前面字体设计中已经介绍过它的作用)
用法:

●meat标签的NAME变量语法格式是:

其中xxx主要有下面几种参数:
1.Keywords(关键字)
说明:keywords用来告诉搜索引擎你网页的关键字是什么。
举例:
2.description(简介)
说明:description用来告诉搜索引擎你的网站主要内容。
举例:
3.robots(机器人向导)
说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。
CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。
举例:
4.author(作者)
说明:标注网页的作者
举例:
以上是meta标签的一些基本用法,其中最重要的就是:Keywords和description的设定。
为什么呢?道理很简单,这两个语句可以让搜索引擎能准确的发现你,吸引更多的人访问
你的站点!
根据现在流行搜索引擎(Lycos,AltaVista等)的工作原理,搜索引擎首先派出机器人自动
在www上搜索,当发现新的网站时,便检索页面中的keywords和decription,并将其加入到自
己的数据库,然后再根据关键词的密度将网站排序。
也就是说:
1. 如果你的页面中根本没有Keywords和description的meta标签,那么机器人是
无法将你的站点加入数据库,网友也就不可能搜索到你的站点。
2. 如果你的关键字选的不好,关键字的密度不高,被排列在几十甚至几百万个站点的后面
被点击的可能性也是非常小的。
所以,我们必须记住添加keywords和description的meta标签,并尽可能写好关键字和简介。
写keywords的禁忌是:
1.不要用常见词汇。例如www,homepage,net,web等。
2.不要用形容词,副词。例如最好的,最大的等。
3.不要用笼统的词汇,要尽量精确。例如不用"摩托罗拉手机",改用"V998"等
寻找合适的关键词的一个技巧是:到lycos,Alta,infoseek等搜索引擎,搜索与你内容相仿
的网站,查看排名前十位的网站的meta关键字,copy下来用到自己的站点上。
这里,我们举一段微软多媒体网站的关键字供你参考:

小资源:人们最常用的一些搜索词(即关键词)可以到
http://www.searchterms.com/
http://eyescream.com/yahootop200.html
两个网址一看,那里有每个月网上最流行搜索词的排行榜.

//Iframe高度自适应




// FRAME(框架)是Web上经常会看到的页面结构。使用可视Web开发工具(比如Dreamweaver或者Frontpage),虽然可以在WYSIWYG环境中通过简单的鼠标托拽完成FRAME的构建,但是要实现真正细致甚至强大的功能,仔细理解FRAME的代码结构至关重要!你将发现,FRAME原来是这样的亲切易用
创建基本的FRAMESET

FRAMESET页面与普遍的Web页面有些不同。虽然仍旧以<HTML>和包含标题的<HEAD>标记以及其他脚本开始,但是其内容仅仅是表示的各个页面的版式设计。因此,不再需要有<BODY>元素,只需要<FRAMESET>标记。

通过<FRAMESET>标记的<rows>和<cols>属性,浏览器窗口被分割为一个个格子。<rows>和<cols>的设置值可以是固定的像素值,可以是总空间的百分比值,还可以是用*以及一个数字相乘表示的分割剩余空间的比例值。比如说:

cols="80,20%,*" 分为3列,宽度分别为80像素,窗口宽度的20%,以及剩余宽度
rows="25%,75%" 分为2列,宽度分别为窗口宽度的25%和75%
rows="*,3*" 与上述第2个表示的一样,分为2列,但表示方法不同:第一列宽度为第二列的1/3

在<FRAMESET>和</FRAMESET>之间,用多个<FRAME>标记表示每个分割区。col表示从左到右的列,row表示从上到下的行。每个<FRAME>有一个src属性,给出了这个FRAME的内容。它可以是浏览器能显示的任何一个合法URL,或者是另外一个FRAMESET。为预防递归现象,一个FRAME不能包含它本身所在的FRAMESET页面。要用name属性定义FRAME的名字,这样就可以在代码或者脚本程序中引用它。 请看一段基本的FRAMESET代码:

<HTML>
<HEAD>
<TITLE>Simple FRAMESET</TITLE>
</HEAD>
<FRAMESET cols="40%,60%" rows="2*,*">
<FRAME name="TopLeft" src="https://www.it610.com/article/red.htm">
<FRAME name="TopRight" src="https://www.it610.com/article/green.htm">
<FRAME name="BotLeft" src="https://www.it610.com/article/blue.htm">
<FRAME name="BotRight" src="https://www.it610.com/article/white.htm">
</FRAMESET>
</HTML>

<FRAMESET rows="105,*">
<FRAME name="adbanner" src="https://www.it610.com/article/ad.html">
<FRAMESET cols="40%,60%">
<FRAME name="left" src="https://www.it610.com/article/red.htm">
<FRAMESET rows="*,*">
<FRAME name="top" src="https://www.it610.com/article/blue.htm">
<FRAME name="bottom" src="https://www.it610.com/article/white.htm">
</FRAMESET>
</FRAMESET>
</FRAMESET>
FRAME间的链接

一个FRAMESET结构的页面,新文档只转载进窗口的一部分中,而其他页面则保持静态不变。当用户点击FRAME中的链接时,新内容就在同一FRAME内打开。要让新内容在其他FRAME中打开,可以设置<A>标记的target属性值为那个FRAME的name值。

而且,我们还可以设置打开目标为当前可见的任意一个FRAME,而不局限于本身的FRAMESET。目标可能是一个嵌套的FRAMESET中的FRAME,也可能是其他窗口中的FRAME。但是如果目标FRAME不存在,就会产生一个带有目标FRAME名字的新窗口。

下面举个例子说明一下,假设有一个简单含2-FRAME的FRAMESET,文件名叫做home.html,代码如下:

<HTML>
<HEAD><TITLE>FrommCo home page</TITLE></HEAD>
<FRAMESET cols="115,*">
<FRAME src="https://www.it610.com/article/menu.htm">
<FRAME name="content" src="https://www.it610.com/article/main.htm">
</FRAMESET>
</HTML> 

文件menu.htm在左边的FRAME中,其中有一系列链接,点击它们后新内容将在右边的叫做content的FRAME中打开。下面是menu.html的代码:

<HTML><HEAD></HEAD>
<BODY><P><BR>
<IMG src="https://www.it610.com/article/Images/tmp_logo.gif" alt="FrommCo"><P>
<A href="https://www.it610.com/article/main.htm"  target="content">Main page</A><P>
<A href="https://www.it610.com/article/mission.htm"  target="content">Our mission</A><P>
<A href="https://www.it610.com/article/staff.htm"  target="content">Our staff</A><P>
<A href="https://www.it610.com/article/splash.htm"  target="_parent">FrommCo splash page</A>
</BODY></HTML>


请注意最后一个链接中target的定义为_parent,这属于4个特殊的保留值。它们是:
_parent:在当前FRAMESET位置显示新href。
_top:在当前整个窗口位置显示新href,比如本身FRAMESET位于另一个FRAMESET中。
_self:强制在当前FRAME中显示新href。
_blank:在新窗口中显示href。
表示客户端图形地图的<AREA>标记同样可以应用target属性,比如:

<AREA shape=circle coords="75,75,50" href="https://www.it610.com/article/main.htm" target="content" alt="Main page">

还有一种经常的情况是:Web页面中的大部分或者全部链接都要求在一个特别的FRAME中打开。这时,可以在页面的<HEAD>代码区使用<BASE>标记设置默认的target,然后再分别定义特殊链接的target值。
修饰FRAME
FRAMESET不仅在宽度、高度等方面具有可控制的数值,在美观方面也同样可以精确设置。

默认情况下,FRAMESET的FRAME间有一个凸起的边沿,表示分割效果。如果不喜欢这个,想营造“无缝连接”的效果,可以在<FRAME>标记中设置FRAME来消除它。在3.0及高版本的Navigator和Internet Explorer中,如果在<FRAMESET>标记中设置FRAME,那么除了设置为FRAMEborder=1的FRAME外,所有其他FRAME的边沿都将消失。

虽然设置了FRAME,有些浏览器仍旧会在FRAME间保留一些边沿的颜色痕迹。这时,可以在<FRAMESET>标记中添加FRAMEspacing=0(对Internet Explorer)或者(对Navigator和Opera)实现真正的无缝连接。

请看下面的代码是如何使用这些属性的:

<HTML>
<HEAD><TITLE>FrommCo home page</TITLE></HEAD>
<FRAMESET cols="115,*" FRAMEspacing=0 >
<FRAME src="https://www.it610.com/article/menu.htm" FRAME noresize scrolling=no>
<FRAME name="content" src="https://www.it610.com/article/main.htm" FRAME>
</FRAMESET>
</HTML> 

上面的代码中有2个新的属性:noresize表示锁住FRAME而不允许使用鼠标改变大小,scrolling=no表示屏蔽FRAME的滚动条,scrolling=yes表示允许,scrolling=auto表示根据显示内容需要自动显示滚动条。

浮动FRAME

浮动FRAME是HTML4.0规范中的一个定义,目前的浏览器都支持它。

不象FRAMESET表示的分割区样子,一个浮动FRAME作为一个内置对象存在于Web页面上,其样式就象一个页面上的一个图形或者一个applet。浮动FRAME使用<IFRAME>标记,它具有与<FRAME>相同的大多数属性设置,包括:name、src、marginwidth、marginheight、FRAMEborder以及scrolling。同时,它还具有与图形或者applet一样的height、width和align属性。

而且,浮动FRAME遵循与普通FRAME一样的target原则:我们可以通过它的name来指向它。本原则适用于在任一类型FRAME中的浮动FRAME,反之易然。浮动FRAME中的没有traget的链接指向它本身,而_parent链接则指向包含<IFRAME>的文档所在的FRAME或者窗口。比如:


<IFRAME name="floater" src="https://www.it610.com/article/start.htm" width=150 height=200 hspace=10 align=left>
<IMG src="https://www.it610.com/article/Images/noFRAME.gif" alt="You can't see the floating FRAME" width=150 height=200 hspace=10 align=right>
</IFRAME><BR>
<A href="https://www.it610.com/article/one.htm"  target="floater">Show one.htm</A><P>
<A href="https://www.it610.com/article/two.htm"  target="floater">Show two.htm</A><P>
<A href="https://www.it610.com/article/start.htm"  target="floater">Bring back start.htm</A> 

注意,对应支持<IFRAME>标记的浏览器,任何位于<IFRAME>和</IFRAME>间的内容都将忽略。反之,其中的内容将显示出来,这可以用作解释当前浏览器不支持<IFRAME>。请看下面支持<IFRAME>标记的浏览器中的结果图:

//
很多朋友都用虚拟主机来做网站,将网页文件存放在虚拟空间上,但是页面内容一多,网站打开的速度就显得特别慢,如果您碰到这种情况,与其寻求更好的空间,不如通过优化网页代码来取得满意的速度。笔者总结了一些切实可行的方法,制作主页时,以下的方法可以令你的网页速度大大提高。
一、记得帮页面减肥
我们浏览网页实际上是将虚拟主机中的网页内容下载到本地硬盘,再用浏览器解释查看的。下载网页的快慢在显示速度上占了很大比重,所以,网页本身所占的空间越小,那么浏览速度就会越快。这就要求在做网页的时候遵循一切从简的原则,如:不要使用太大的Flash动画、图片等资源。干净、简洁的页面会给人一种思路明朗的感觉。
二、如没必要,尽量使用静态HTML页面
众所周知,ASP、PHP、JSP等程序实现了网页信息的动态交互,运行起来的确非常方便,因为它们的数据交互性好,能很方便地存取、更改数据库的内容,使网站“动”起来,如:论坛、留言板等。但是这类程序必须先由服务器执行处理后,生成HTML页面,然后再“送”往客户端浏览,这就不得不耗费一定的服务器资源。如果在虚拟主机上过多地使用这类程序,网页显示速度肯定会慢,所以没有必要,请尽量使用静态的HTML页面。
三、不要将整个页面内容塞到一个Table中
这是网页设计的问题了,很多站长为了追求页面统一对齐,将整个页面的内容都塞进了一个Table(表格)里,然后再由单元格td来划分各个“块”的布局,这种网站的显示速度是绝对慢的。因为Table要等里面所有的内容都加载完毕后才显示出来的,如果某些内容无法访问,就会拖延整个页面的访问速度。正确的做法是:将内容分割到几个具有相同格局的Table中去,不要全都塞到一个Table里。
四、将ASP、ASPX、PHP等文件的访问改为.js引用
这在ASP、ASPX、PHP等程序设计时应该注意的,如果你要在静态的HTML页面里嵌入动态的数据,而这些动态的数据是由ASP、PHP等程序来提供的话,会使用以下的语句引用:,这样的话,每次有一个人访问你的网站,服务器就要执行并处理一次tongji.asp文件,从数据库抽取相应的数据,再输出给网页显示,如果有几万个人同时访问,就要执行几万次,后果就可想而知。建议在这些程序中将数据动态生成到一个1.js文件中去,然后在首页通过 < SCRIPT src="https://www.it610.com/article/http://www.XXX.com/1.js">< /SCRIPT> 这样的代码来引用该1.js文件。这样,数据显示的任务就交给客户端的浏览器去做,不会耗费服务器的资源,显示速度自然就很快;笔者的网站 www.25cn.net下有个index3.htm文件,大家可以通过访问www.25cn.net/index3.htmwww.25cn.net 做一下比较,前者所花的时间几乎是后者的几倍!
五、使用iframe嵌套另一页面
如果你要在网站上插入一些广告代码,又不想让这些广告网站影响速度的话,那么,使用iframe最合适不过了。方法是:将这些广告代码放到一个独立的页面去,然后在首页用如下的代码将该页面嵌入即可,这样就不会因为广告页面的延迟而拖了整个首页的显示,代码如下:
< IFRAME marginWidth=0 marginHeight=0 src="https://www.it610.com/article/http://www.xxy8.com/index.htm" frame width=468 scrolling=no height=60 leftmargin="0" topmargin="0">< /IFRAME>
其中htthttp://www.xxy8.com/index.htm是被引用文件的路径。
六、讲究网站计数器代码放置的技巧
在网页里放置计数器可以统计网站的访问流量,为站长和广告商家提供访问依据,但是,不管功能有多强大的网站统计系统,都会有出故障的时候。如果直接把统计代码放到页面内容的前面,或者放在一个Table或者div标签里,那么在计数器不能访问的时候,你的页面上那个Table或者div就会产生几十秒钟的延迟,导致页面很长时间才能访问。所以,要提高网站的速度,就要讲究统计代码放置的位置,正确的方法是:把统计代码放到页面的最下面,并且不要和页面内容同在一个Table或者div标签里。可以在页面代码的最下方直接放置统计代码,或者在最下方单独做一个Table或者div来放置计数器。这样,在计数器不能访问的时候,你的网站速度也不会受到丝毫影响。
七、友情链接的学问
网站之间互相做链接可以增加网站的宣传效果,做LOGO图片链接更能准确地描述网站的主题和定位,宣传效果会大大的增强,但图片链接做得太多,必然会影响网页的显示速度。很多站长都喜欢直接引用友情网站上的图片URL,这样图片要先经过加载才能显示的,各个友情网站的访问速度不一样,整个表格都要等图片都下载完了才能显示出来,这样大大降低了网页的速度。因此,做友情链接时应尽量做到:
1. 只做文字链接:做文字链接是不会延迟网页速度的。
2. 将所有链接放到一个独立的分页去,然后在首页链接上该页。
3. 如果友情链接一定要出现在首页,请将链接所在的整个Table放到页面的最下方,因为页面是由上到下逐行显示的,将其放到页面的最下方,不会延迟其他内容的显示。
4. 友情链接的LOGO图片先下载后再传到自己的网页空间,这样,速度由自己的网站空间决定而不受友情网站的影响。

//技巧运用无极限 HTML表格使用从入门到精通
如果你是一名网页设计人员,如果你的网页里没有一个表格,那可以说算不上一个网页(当然全FLASH作品除外),表格的重要性就可想而知。帮助我们控制网页布局、控制内容的显示等等。使用表格有很多的技巧,你可否知道呢?
使用表格排版网页
使用表格排版网页,可以使你的网页更美观,条理更清晰,更易于维护和更新。(将表格的宽设为100%,可以使网页的兼容性更好)
要尽量细化表格
不要把整个网页放在一个大的表格里,因为一个大表格里的内容要全部加载完才会显示,如果整个网页放在一个表格里,那么你的网页就只会两种情况:
1、全部不显示
2、全部显示出来
所以建议大家将整个页面分成几块,例如通用的上(放置Logo、Banner、Menu等等)、中(放置页面内容)、下(放置版权信息等等),将每一部分由单独的表格来实现,这样会好一些。
表格设计实例
【用IFRAME实现网页的内嵌和预载】创建一个表格,边框大小设为0(),间距设为1(cellspacing="1"),背景色设为深色(bgcolor="#000000"),全部选定单无格,并将单无格的背景色设为浅色(如:bgcolor="#FFFFFF"),这样可以得到一个细线边框的表格,请看下面的例子:











动态改变表格单元格的颜色
在单元格标记中加入以下代码,会动态改变单元格的颜色设置:
onMouseOut=”this. bgColor=’’” onMouseOver=”this.bgColor=’’”
在行标签标记中加入上面代码,会动态改变一行的颜色设置。










用表格替代水平线、竖直线
用表格代替水平线,插入一个表格,将高度设为1(按需要设定),当然也可以将宽度设为1,制作竖直线。












注意:在Dreamweaver里制作时,先将高设为1后,切换到代码窗口,将表格里的空格符去掉( ),如果不将空格去除的话,将看不到想要的效果了。
制作带有立体感的表格
在页面中适当的加入带有立体感的表格元素,会给你的页面添光加彩。









A












B












C

小技巧:效果图中的凸凹效果,完全是由bordercoloer的颜色来控制的,它的颜色浅一些,有会有凸出的效果,它的颜色深一点,就会有凹陷的效果。
隐藏表格的分隔线
在处理表格时有时会有这样的需求,某几列、或行的内容属于同一主题,为了排列整齐将它们放在不同的行上,但是不想让表格的分隔线显示出来,有什么办法吗,其实很简单。
隐藏水平分隔线

隐藏竖直分隔线

隐藏全部分隔线

表格内容分行下载
表格内有一些载入较慢的元素(如计数器、大图片等等)时,往往会延迟整个表格的显示。这是由IE的显示特性决定的,只有当表格内所有元素全部载入后,整个表格才得以显示。“上有政策,下有对策”,我们可以使用标签把表格内容拆开,放在几个竖向相连的大表格中,把关键内容放在上面的表格中,让它们先显示,这样用户就不会因为失去耐心而关闭窗口了。
另外提醒一点:





只有当table已经闭合的情况下.该TABLE才会被显示出来.这就是以为:














这里嵌套了两层 TABLE .外层的 TABLE 只有解释完毕后.搜索的内容才会被显示查来.设想一下.内部的TABLE中行数如果太多的话.将会导致表格显示的数据延长.

    推荐阅读