栏目搜索
 
 
 
 
你的位置:首页 > 网页制作 > HTML/Xhtml >
 

被遗忘的HTML元素

日期:2006-03-24 00:00:00  点击:  作者:  来源:    【我要投稿】   【加入我的收藏夹】

本文章地址:http://www.netbarguide.com/webdesign/Xhtml/20060321/PcvTM.html [点此复制地址]

众所周知,制作网页所用到的最基本的语言HTML主要是由著名的W3C组织来制定标准的。但由于IE和NetScape之间都在为击败对手不断地研究新的网页技术而竞争,就产生了不少新的HTML元素。这些新的HTML元素,有的被W3C组织所认证,发展成为所有的浏览器必须支持的HTML标准元素。但有的却仍不被别的浏览器所接受。特别是对于目前最主流的浏览器-IE和NetScape,出于各种方面的原因,总是有一些元素不能得到二者共同的支持。在实际的网页制作过程中,为了能使页面在所有的浏览器中都能正常显示,这样的元素往往得不到应用,而逐渐为人们遗忘。但我们可以相信,一个元素之所以被一种浏览器所支持,它必有它的优点和长处。下面我们就来一起来看一下这些被“遗忘”了的HTML元素。 
   1.BGSOUND 
  BGSOUND元素可在IE3.0以上的浏览器中运行,在NetScape任何版本的浏览器中都是无效的。BGSOUND用来设定页面载入时的背景音乐,它的语法格式如下: 
   <BGSOUND SRC=″url″ LOOP=″n″> 
   BGSOUND可以放在页面文件中的任何位置,但一般为了容易读懂页面源代码,都将其放在标签后的第一个位置上。它有SRC和LOOP两个属性,其中的SRC是用来指定音乐文件的具体url路径,音乐文件可以是WAV、AU或者MIDI格式等。LOOP用来指定背景音乐循环播放的次数,当LOOP=-1时,背景音乐将会连续播放,直到浏览器开始载入下一个页面为止。例如下例: 
   <BGSOUND SRC=″music/bgmusic.wav″ loop=-1> 
  2.IFRAME 
  这也是一个只可在IE3.0以上的浏览器中运行的HTML元素,在NetScape浏览器中运行时不会显示出任何效果。IFRAME元素可以在页面中插入一个浮动的窗口,在这个浮动窗口中可以显示另外一个网页页面。它的基本语法格式如下: 
   <IFRAME SRC=″url″ FRAMEBORDER=″1或0″ WIDTH=″x″ HEIGHT=″y″ SCROLLING=″yes或no″ ALIGN=″alignment″ MARGINWIDTH=″x″ MARGINHEIGHT=″y″></IFRAME> 
   其中SRC是用来指定在页面浮动窗口中显示的网页文件的具体url地址;FRAMEBORDER用来指定页面浮动窗口是否具有边框,它的值只有1和0两个,分别表示有边框和没有边框;WIDTH和HEIGHT用来指定页面浮动窗口的宽度和高度;SCROLLING指定页面浮动窗口是否需要用滚动条,它的值有yes和no两个,当页面浮动窗口内嵌网页页面大于浮动窗口时,在默认的情况下,在浮动窗口的右边和下边会自动提供滚动条,但如果SCROLLING=″yes″,则不管在什么情况下,浮动窗口都会提供滚动条,如果SCROLLING=″no″,则不管在什么情况下,浮动窗口都不提供滚动条;ALIGN属性指定浮动窗口内的页面相对于浮动窗口的位置,它的值有left、right、top、middle、bottom,分别表示浮动窗口内的页面的位置是靠左、靠右、靠上、居中和靠下;MARGINWIDTH和MARGINHEIGHT分别用来指定浮动窗口内的页面与浮动窗口之间在水平方向和竖直方向上的填充距。请看下例: 
   <BODY bgcolor=″#33eebb″ text=″#000000″> 
   <FONT SIZE=5>利用IFRAME元素制作页面浮动窗口</FONT> 
   <IFRAME SRC=″poem.htm″ FRAMEBORDER=″1″ WIDTH=″400″ HEIGHT=″200″ MARGINWIDTH=″10″ MARGINHEIGHT=″10″<>/IFRAME> 
   </BODY>
    3.MARQUEE 
  只可以在IE3.0以上版本的浏览器中运行的HTML元素,NetScape浏览器会忽略该元素。MARQUEE可以为我们在页面上提供一个“电子播放器”,即产生滚动字幕的页面效果。它的基本语法结构如下所示: 
   <MARQUEE ALIGN=″alignment″ BEHAVIOR=″type″ BGCOLOR=″color″ DIRECTION=″direction″ SCROLLAMOUNT=″n″ SCROLLDELAY=″n″ LOOP=″n″ WIDTH=″x″ HEIGHT=″y″ HSPACE=″x″ VSPACE=″y″>滚动字幕内容</MARQUEE> 
   其中ALIGN用来指定滚动字幕与左右文字的对齐方式,它的值可以有top、middle、bottom等;BEHAVIOR用来指定滚动字幕的滚动方式,它的属性值有scroll、slide和alternate三个,scroll表示滚动字幕内容向同一方向重复滚动,slide表示滚动字幕内容从一端向另一端滚动并在另一端停止,alternate表示滚动字幕内容在两端之间来回往复滚动;DIRECTION指定滚动字幕的滚动方向,它的属性值有left和right两个,分别表示滚动字幕由右向左和由左向右滚动;SCROLLAMOUNT用来设置多次滚动之间的间隔距离,其单位是pixels(像素);SCROLLING用来指定滚动字幕滚动一次所需要的时间,单位是ms(千分之一秒),其值的大小将直接影响滚动字幕的滚动速度;LOOP属性是用来指定滚动字幕的滚动次数的,当它的值为“-1”时,滚动字幕将连续滚动直到浏览器载入下一个页面;HSPACE和VSPACE则分别用来指定滚动字幕与其上一级页面在水平方向和竖直方向上的距离。 
   4.MULTICOL 
  MULTICOL元素是只能在NetScape3.0以上版本的浏览器中运行的HTML元素,尽管在IE中也不会造成太大的麻烦,用来在网页上实现分栏效果。它的基本语法结构如下所示: 
   <MULTICOL COLS=″n″ GUTTER=″x″ WIDTH=″x″></MULTICOL> 
   其中的COLS属性定义分栏栏数,GUTTER表示各栏之间的距离,而WIDTH表示的是每栏宽度,而不是整个分栏区域的宽度。还需要注意的是,MULTICOL在处理分栏时,并不能自动为文字换行,所以还需要在每行的最后加上强制换行标签<BR>。请看下例: 
   <BODY> 
   <MULTICOL COLS=″3″ GRTTER=″10″ WIDTH=″450″> 
   这首诗是周恩来同志……《敬业》第五期。 
   </MULTICOL> 
   </BODY> 
   需要注意的是,由于NetScape在处理中文换行问题上的不足,要使分栏效果能够正常显示,还必须在页面文件开头的META标签内加上″charset=gb2312″代码。 
  5.SPACER 
  SPACER也是一个只能在NetScape3.0以上版本的浏览器中运行的HTML元素,通过运用SPACER元素,可以在页面上产生一些具有一定尺寸和位置的空格,从而实现一些特殊的效果。它的语法结构如下所示: 
   <SPACER TYPE=″block″ ALIGN=″alignment″ WIDTH=″x″ HEIGHT=″y″> 
   或者是 
   <SPACER TYPE=″horizontal/vertical″ ALIGN=″alignment″ SIZE=″n″> 
   这两种语法结构基本相同,只不过TYPE属性值为″block″时,只能通过WIDTH和HEIGHT来定义它的尺寸,而不能用SIZE属性;而当TYPE属性值为″horizontal″或″vertical″时,只能用SIZE属性来控制尺寸。TYPE属性值为″block″时,WIDTH表示空格的宽度,HEIGHT表示空格的高度,多出所在行行高的部分将会延伸到下一行;当TYPE的属性值为″horizontal″时,表示在该行插入一个水平方向上的空格,其宽度为SIZE属性所指定的数值;TYPE属性值为″vertical″时,表示在该处插入一个竖直方向上的空格,SIZE值表示的是该行与上一行之间的行距。下面请看一个用到了以上三种TYPE属性的例子: 
   <body> 
   <spacer type=″block″ align=″left″ width=″32px″ height=″100px″> 
   <spacer type=″horizontal″ size=″32px″>由于现在的软件越做越大,4G以下的硬盘已被淘<spacer type=″vertical″ size=″8px″>汰出了主流市场…… 
   </body> 
  6.LAYER 
  LAYER是在NetScape Communicator 4.0中才出现的HTML元素,它可以让网页中的不同元素位于不同的层上,这类似于Photoshop中层的概念。通过使用LAYER元素,可以在页面中实现图文定位、元素重叠等效果,如果再与适当的Script语言结合,还可以实现改变重叠顺序、控制元素的显示或隐藏,甚至还可以实现动画效果。LAYER的基本语法结构如下: 
   <LAYER NAME=″name″ LEFT=″x″ TOP=″y″ Z-INDEX=″n″ VISIBILITY=″visibility″>……</LAYER> 
   其中NAME用来给层命名,通过这个名字Script可以对该层进行操作。LEFT和TOP用来控制层在页面中的位置,分别表示层的左上角距浏览器窗口左边框和上边框的距离。Z-INDEX属性中用来控制不同的层在页面中的层叠顺序,数字小的层位于数字大的下面。VISIBILITY属性定义该层的显示属性,它的值有show、hide、inherit,其中show和hide分别表示该层为可见和不可见,而inherit则表示该层的显示属性与其上一级层的显示属性相同。请看下面的这个实例: 
   <BODY BGCOLOR=″#ffffdd″> 
   <layer name=″layer1″ left=″10″ top=″10″ z-index=0> 
   <img src=″girl.jpg″ WIDTH=″240″ HEIGHT=″240″> 
   </layer> 
   <layer name=″layer2″ left=″190″ top=″70″ z-index=1> 
   <FONT COLOR=″0000ff″ SIZE=″5″ FACE=″楷体_gb2312″><B>Hi!你好,小女子网名毛毛,希望能与你成为好朋友</B></FONT> 
   </layer> 
   </BODY> 
   以上我们所提到的元素只是比较重要的几个,这些元素在使用的时候,虽然仅被一种浏览器所支持,但在别的浏览器上一般也不会产生错误的信息。而有些元素,如IFRAME,在不支持的浏览器中运行后不能够正常地表达页面的意图,用与不用,就要看你的智慧了 

RSS(Really Simple Syndication,真正简单的连锁)是一种 Web 内容连锁格式。RSS 成为通过 Web 连锁新闻内容的标准格式。作为最近与 Sun Microsystems 签署合同的一部分,我负责开发任何懂得 RSS、JavaServer Pages 和 HTML 的人便可以使用的“JSP 标签库”。taglib 主要面向用 RSS 收集新闻内容的 Web 站点的非技术性编辑人员。我的目标是开发在 Web 页中将简化使用 RSS 内容(0.91、0.92 和 2.0 版本)的 JSP 标签库。

RSS UtilitIEs Package 是该项目的结果。它包括一套自定义 JSP 标签,这些标签弥补了 RSS Utilities Tag library 和灵活的 RSS 语法分析器。该文档说明了如何使用该语法分析器和 RSS Utilities Package 提供的库。在这里单击便可以下载第一个版本。该 zip 文件包含一个 jar 文件 rssutils.jar(该文件包含使用该工具所需的类)和一个 tld 文件(该文件定义从 RSS 文档中提取信息的 JSP 自定义标签)。

安装 taglib

尽管使用标签库很容易,但在安装时要求您了解 Web 服务器的工作原理和如何去配置它。第一步是下载并解压包。一旦 zip 文件已经解压了,在 Web 应用程序的 /WEB-INF/lib 目录中放置一份 rssutils.jar 和 rsstaglib.tld 的副本。将下面的 taglib 定义添加至 Web 应用程序的 /WEB-INF/web.xml 文件:
<taglib>
<taglib-uri>/WEB-INF/rssutils.tld</taglib-uri>
<taglib-location>/WEB-INF/rssutils.tld</taglib-location>
</taglib>

使用 taglib

一旦 taglib 已经安装在 Web 应用程序中,按照以下步骤便可以在 JSP 页面中使用 taglib。首先,将下面一行添加至 JSP 页面的顶部:
<%@ taglib uri="/WEB-INF/rssutils.tld" prefix="rss" %>
其次,使用 feed 标签将 RSS feed 添加至 JSP 页面,如下例所示:
<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml" feedId="javaSunCom"/>
"feed" 标签的 url 属性必须包含到 RSS 文档的 URL。"feed" 标签的 feedId 属性是任意的,可以设置为任何值。然而,我们建议该属性在标识 RSS feed 时要直观。如果应用程序在防火墙后面,可以使用名为 proxyAddress 和 proxyPort 的 "feed" 标签代理属性来设置代理属性。如果不知道代理服务器地址代理端口,请与网络管理员联系。下面是一个例子:
<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml" feedId="example1" proxyAddress="129.149.246.4" proxyPort="8080"/>
一旦将一个或多个 RSS feed 添加到页面,您应能使用剩余的一套标签来从 feed 中提取几乎任何信息。下面是一个例子,说明如何提取在上面添加的 RSS feed 频道的标题:

<rss:channelTitle feedId="javaSunCom"/>

Taglib 示例

例 1 (RSS 0.91):
<rss:feed
url="http://servlet.java.sun.com/syndication/rss_java_highlights-XYZCompany-10.xml"
feedId="example1"/>
<b>Image: </b><rss:channelImage feedId="example1" asLink="true"/><br>
<b>Title: </b><rss:channelTitle feedId="example1"/><br>
<b>Link: </b><rss:channelLink feedId="example1" asLink="true"/><br>
<b>Description: </b><rss:channelDescription feedId="example1"/><br>
<ul>
<li><rss:itemTitle feedId="example1" index="0"/><br>
<rss:itemDescription feedId="example1" index="0"/><br><br>
<li><rss:itemTitle feedId="example1" index="1"/><br>
<rss:itemDescription feedId="example1" index="1"/><br>
</ul>

例 2 (RSS 0.92):
<rss:feed
url="http://static.userland.com/gems/backend/gratefulDead.xml" feedId="example2"/>
<b>Image: </b><rss:channelImage feedId="example2"/><br>
<b>Title: </b><rss:channelTitle feedId="example2"/><br>
<b>Link: </b><rss:channelLink feedId="example2" asLink="true"/><br>
<b>Description: </b><rss:channelDescription feedId="example2"/><br>
<ul>
<rss:forEachItem feedId="example2">
<li><rss:itemDescription feedId="example2"/><br><br>
</rss:forEachItem>
</ul>

例 3 (RSS 2.0):
<rss:feed
url="http://static.userland.com/gems/backend/rssTwoExample2.xml"
feedId="example3"/>
<b>Image: </b><rss:channelImage feedId="example3"/><br>
<b>Title: </b><rss:channelTitle feedId="example3"/><br>
<b>Link: </b><rss:channelLink feedId="example3" asLink="true"/><br>
<b>Description: </b><rss:channelDescription feedId="example3"/><br>
<b>Copyright: </b><rss:channelCopyright feedId="example3"/><br>
<b>Docs: </b><rss:channelDocs feedId="example3"/><br>
<b>Generator: </b><rss:channelGenerator feedId="example3"/><br>
<b>Language: </b><rss:channelLanguage feedId="example3"/><br>
<b>Last Build Date: </b><rss:channelLastBuildDate
X-Virus: 1
feedId="example3"/><br>
<b>Managing Editor: </b><rss:channelManagingEditor
feedId="example3"/><br>
<b>Pub Date: </b><rss:channelPubDate feedId="example3"/><br>
X-Virus: 1
<b>Skip Days: </b><rss:channelSkipDays feedId="example3"/><br>
<b>Skip Hours: </b><rss:channelSkipHours feedId="example3"/><br>
<b>TTL: </b><rss:channelTTL feedId="example3"/><br>
<ul>
<rss:forEachItem feedId="example3" startIndex="2" endIndex="4">
<li><rss:itemDescription feedId="example3"/><br><br>
</rss:forEachItem>
</ul>

如何使用 RssParser?

从某种程度上看,语法分析器是该项目的副产品。尽管语法分析器是用标签库来开发的,但是它完全是自包含的,它可以在 Java 应用程序中使用。然而,要做到这一点,显然您至少需要了解如何编写基本的 Java 代码。(如果您了解如何用 Java 语言编写 Hello World,就没什么问题了。)

首先下载并解压包。一旦将 rssutils.jar 添加至您的类路径,就请使用 RssParserFactory 创建 RssParser 接口的实例:RssParser parser = RssParserFactory.createDefault();
Rss rss = parser.parse(new
URL("http://mydomain.com/document.rss"));

语法分析器生成的 RSS 对象是位于提供的 URL 中的 RSS 文档的 Java 对象表示。使用 RSS 对象提供的方法以获得其它 RSS 对象的句柄,如 Channels 和 Items。RssParser 也能够分析 File 对象和 InputStream 对象。

结束语

RSS 提供了一种简单的方法来添加和维护您的 Web 站点上来自所有 Web 的新闻及其它内容。即使 RSS 是简单的 XML 格式,在 Web 上的其他任何地方从 XML 文档中分析并提取数据都可能有点棘手——或者至少单调乏味——如果您不得不一遍又一遍地去做的话。RSS Utilities Package 利用 Custom Tag 和 XML Parsing 技术使 "Real Simple Syndication" 格式真正做到文如其名。

以下所提出的几项秘诀,虽然有助提高大家网站曝光率,但一个网站的内容,才是吸引人潮的最基本要素,大家切记、切记! 
  Title不可少 
  网站每一页都要标上Title,只在首页标明是不够的。< Title>也是全文检索的Search Engines如AltaVista、Infoseek、Excite、Lycos等的搜索重点之一。< Title>的语法如下: 
  < Title>A Simpe HTML Example< /Title> 
  例如有一个Internet Age的网站,它的内容包括了软件推介、HTML教学、笑话和网络新闻,可以这样编写: 
  < Title>Internet Age-软件推介(Softwares)、Internet Age-HTML教学(Teaching)、Internet Age-笑话(Jokes)、Internet Age-网络新闻(News)< /Title> 
  将KeyWords列入< Meta>内容 
  除了< Title>之外,< Meta>也是很多全文检索的Search Engines搜索的范围。< Meta>通常所包含与该站相关的资讯,包括版权、站名、制作人、最后更新日期等等。在浏览器的浏览过程中,并不会在画面上显示出来。大家最好将关于网站的keywords全部列入< Meta>内。 
  以关于汽车的网页为例,因为内容是所有汽车的相关资信,所以将一切汽车相关的字词都列入< Meta>Tag中: 
  < Meta Content="automotive,cars,racing, parts,automotive,cars, porsche, audi,dealers, dealerships, lambourghini, toyota,nissan, racing, cars" Name="Keywords"> 

  Keywords要用众数(Plural Form) 
  大家在写< Title>或< Meta>的tag时,那些keywords最好用众数(Pluralfrom即是加s)。假设你的Keyword是dealer,别人用Search Engines搜寻dealers便找不到你,如果你用的是dealers,别人无论用dealer或dealers都可搜寻到你的网页。 
  大包围登记Search Engines 
  有些Search Engines不会派出Robot在网上搜集资料,所有的资料都是来自别人的登记如Starting Point(www.stpt.com)、WWW YellowPages(www.mco.com/DirectorIEs)等,因此最好是所有Search Engines都不要放过。大家登记Search Engines时,建议除了网站的首页外,每一页都要登记。 
  提醒大家在登记之前,别忘了在每一网页都加上‘回到首页’的连结图示。让一些经由‘侧门’进入的网友可以有回到首页的管道