首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

4.3  处理Web文档

document对象代表是一个Web文档或一个页面。Web文档在浏览器窗口中显示,所以很明显document对象是window对象的子对象。

因为window对象总是代表当前窗口(包含脚本的窗口),所以可以使用window.document来指向当前文档。也可以简单地使用document来自动指向当前窗口。

注意:前面已经使用过document.write方法在Web文档中显示文字。前些章节的例子只是使用一个窗口和一个文档,因此没有必要使用window.document.write—但这个较长的句法是更好的。

如果要使用多个窗口(或框架),就要使用多个window对象,每个window对象都有自己的document对象。要使用其中某一个文档对象,需要指出窗口名和文档名。

在后面的部分,将看到document文档对象的一些属性和方法,它们在编写脚本时经常被用到。

4.3.1  获得文档的信息

document对象的几个属性通常会包含当前文档的信息:

Ø    document.URL指明了文档的URL地址。这是一个简单的文本字段,你不能改变它的属性。如果需要给用户一个不同的地址,要使用window.location对象,有关内容本章后面会提到。

Ø    document.title列出了当前页面的标题,由HTML中的<title>标签定义。

Ø    document.referrer是用户所浏览的上一个页面的URL地址,通常这个页面有一个链接指向当前页面。

Ø    document.lastModified是文档最后修改的日期。这个日期从服务器传到页面。

Ø    document.bgColor和document.fgColor是文档的背景和前景(文字)颜色,对应<body>标签的BGCOLOR和TEXT属性。

Ø    document.linkColor、document.alinkColor和document.vlinkColor是文档中链接的颜色。它们对应<body>标签的LINK、ALINK和VLINK属性。

Ø    document.cookie允许读取和设置一个文档的cookie。有关cookie的知识,参见http://www.jsworkshop.com/cookies.html。

作为一个文档属性的例子,程序清单4.1显示了一个简单的HTML文档,用JavaScript显示了最后修改的日期。

程序清单4.1  显示最后修改日期

<html><head><title>Test Document</title></head>

<body>

<p>This page was last modified on:

<script language="JavaScript" type="text/javascript">

document.write(document.lastModified);

</script>

</p>

</body>

</html>

这可以告诉用户页面最近被修改过。如果使用了JavaScript,则没有必要记录每次修改页面的更新日期。(也可以使用脚本打印当前日期代替最后修改日期,但当前日期有可能是假的。)

注意:你可能会发现document.lastModified属性在Web页面上没有工作,或者返回的是错误值。此日期是从Web服务器获取的,一些服务器不会正确保存修改后的日期。

4.3.2  在文档中写入文字

最简单的文档对象方法是最经常使用的。实际上,我们已经使用了其中的一个。document.write方法的作用是输出文字,以作为文档窗口中HTML页面的一部分。无论何时要在Web页面中包含输出时,都需要使用这个语句。

document.writeln可代替document.write来输出文字,但前者在结尾处还包括了新的一行(\n)的字符。这对于输出段落尾的文字是非常方便的。

警告:要牢记新的一行这个字符在浏览器中显示的是一个空格,除非它在<pre>容器中。如果希望真正空一行,可以使用<br>标签。

可以只在Web页面的正文中使用这些方法,因此它们将在页面载入后执行。如果不刷新页面,就不能在一个已加载的页面中添加方法。

注意:也可以在较新版本的浏览器中用新的DOM功能来直接修改Web页面中的文字,相关知识参见第14章。

document.write方法也可以用在HTML文档正文的一个<script>标签内。假如在文档正文包括了一个函数调用,就可以在函数中使用它。

4.3.3  使用Link和Anchor对象

document对象的另一个子对象是link对象。实际应用中,在文档中可以有多个link对象。每个对象都包括链接到其他网址(或anchor)的信息。

提示:Anchor是HTML文档中位置的名称,可以直接跳转到此。可以在标签中定义它们,如<a name="part2">,也可以链接它们,如<a href="#part2">。

可以用links数组来访问多个link对象。每个数组的成员是一个当前页面的link对象。数组的一个属性document.links.length显示了页面中链接的数量。

每个link对象(或links数组的成员)都有一些定义了地址的属性。Href属性包含了完整的URL,其他属性包含了URL的一部分。 location对象有一些相同的属性,本章后面部分会介绍。

可以通过link的数字和属性名称来指向属性。例如,下面的语句将第一个链接的完整网址赋予变量link1:

link1 = links[0].href

anchor对象也是document对象的子对象。每个anchor对象代表了一个当前文档的anchor(anchor是可以直接跳转的特殊位置)。

就像链接一样,可以用anchors数组来访问多个anchor对象。每个数组的成员是一个anchor对象。document.anchors.length属性表示的是anchors数组中成员的个数。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论