10讲程序设计基础9 vbsdocument对象.docx
《10讲程序设计基础9 vbsdocument对象.docx》由会员分享,可在线阅读,更多相关《10讲程序设计基础9 vbsdocument对象.docx(13页珍藏版)》请在冰点文库上搜索。
10讲程序设计基础9vbsdocument对象
第10讲 VBScript程序设计基础(九)——Document对象
林世鑫 C14F15班 2015年11月13日
Document对象代表了当前浏览器窗口中的HTML文档,它是脚本对象模型中最为重要的对象。
可以通过该对象检测HTML文档中各元素的状态(比如,颜色、字体,发生的事件等),并且可以更改这些元素的状态。
在HTML文档的任何位置都可以调用该对象。
本讲我们分别介绍Document对象常用的属性、方法和事件。
一、Document对象的属性
1、颜色类属性
FgColor属性
设置或返回文档中文本的颜色。
BgColor属性
设置或返回文档的背景颜色。
LinkColor属性
设置或返回文档中超链接的颜色。
ALinkColor属性
设置或返回文档中活动链接的颜色。
VLinkColor属性
设置或返回已经访问过的超链接的颜色。
【应用举例】设计一个网页,允许用户通过不同的颜色选择,对该网页中的文本、背景等元素的颜色进行实时改变。
如下图所示:
Document颜色属性
functioncolor_s(A)
selectcaseA
case1:
‘//1-3为背景颜色
document.bgColor="#ff00ff"‘//粉红色
case2:
document.bgColor="00ffff"‘//浅蓝色
case3:
document.bgColor="00ff99"‘//浅绿色
case4:
‘//4-6为无链接文字颜色
document.fgColor="ff0000"‘//红色
case5:
document.fgColor="00ff00"‘//绿色
case6:
document.fgColor="ffff00"‘//黄色
case7:
‘//7-9为链接文字颜色
document.linkColor="9900ff"‘//紫色
case8:
document.linkColor="cc6600"‘//棕色
case9:
document.linkColor="0000ff"‘//蓝色
endfunction
本实例是关于Document属性的使用示范
友情链接:
惠州城市职业学院
惠州学院
背景颜色
(1)"> | (2)"> | |
无链接文字颜色
| | |
链接文字颜色
| | |
2、文件类属性
Title
返回当前文档的标题,在运行期间不能改变。
Location
设置或返回文档的URL。
ParentWindow
返回包含此HTML文件的上层窗口。
Referrer
返回链接到当前页面的那个页面的URL。
LastModified
返回当前文档的最后修改口期。
FileCreatedDate
返回文件的建立日期。
FileModifiedDate
返回文件的最近被修改日期。
FileSize
返回文件的大小。
Cookie
设置或返回浏览器的一个cookie值
在文件类属性中,有很多属性属于“只读性属性”,即该属性不能在运行期间重新设置,只能读取运行前已经产生的属性值。
如Title属性,这是文档的标题属性,该属性只能在运行前设置好,程序一旦开始运行,该属性就只能读取值,不能再设置值。
例如不能在网页代码中写以下语句:
document.title=”惠州城市学院官方”,这是错误的,因为直接改变了title属性值。
但以下语句即是正确的:
Document.writedocument.title
因为这句程序并没有改变title属性值,只是读取出来并输出在网页中。
【应用举例】在网页中显示出该网页的相关文件属性,如下图所示:
第10讲文件类属性示例本网页文件的相关属性如下:
网页的标题:
document.write(document.title)
网页的URL:
document.write(document.location)
网页的修改时间:
document.write(document.lastModified)
网页中包含的cookie:
document.write(document.cookie)
Cookie是由浏览器读取或写入硬盘的文本文件,存放在特定的文件夹中(可以通过浏览器的设置找到)。
Cookie中存放有网站的用户名和选项等配置信息,使得下一次请求同一页面时,脚本能找到上次存放在客户机上的数据,以调整用户配置。
通常用cookie来保存服务器发送来的字符串,以便在页面之间共享信息。
在VBScript中,可以使用如下代码把该属性值设为指定值,然后显示出来:
document.cookie="张三丰"
document.writedocument.cookie
当然,也可以通过文本框、单选按钮等提交用户数据,并把这些数据保存在cookie中,这样的做法,更普遍应用在网站开发中。
例如我们对前例的代码做相应的功能增加如下:
即可实现由用户输入cookie的内容。
执行效果如下图:
二、Document对象的方法
Document对象的方法主要用于控制网页的读写操作以及内容的显示。
名称
说明
clear方法
清空当前文档中的内容,一般用于动态生成网页的操作中
close方法
关闭当前文档
open方法
打开一个新文档以便用write或者writeln方法写入新的文档内容
write方法
用于在当前文档中写入新的内容,在输出字符串末尾不包括回车标志
writeln方法
用于在当前文档中写入新内容,在输出字符串末尾包括回车标志
使用方法的语法格式是:
<文档名>.方法名 [<操作内容>]
例:
<文档名>.clear‘//清除文档中的全部输出内容
<文档名>.close‘//关闭当前文档
<文档名>.open()‘//新建一个新文档
注意:
与window对象的Open方法不同,Document对象的open方法是在当前浏览器窗口新建一个HTML文档,前者则新打开一个浏览器窗口。
因此,严格来说,Document对象的open方法,相当于new()方法(新建)。
在动态更改网页操作中,一般先调用open方法在浏览器窗口中新建一个空的文档,然后,通过调用write或者writeln方法在新文档中输入新的内容,然后,调用close方法关闭文档并显示它。
同样需要注意的是,此处的close与window对象的close方法也不同:
window对象的close方法为关闭窗口,而Document对象的close方法实际相当于停止新文档的构建过程(主要是write与writeIn方法),并把已经构建好的内容显示出来。
write方法和writeln方法的区别在于writeln方法在输出字符串末尾添加了回车标志。
【应用举例】
functioncreateNewDoc()
dimnew_doc=document.open()
dimtxt="
新文档这是通过document.open构建新的文档"
new_doc.write(txt)
new_doc.close()
endfunction
点击写入新文档
将以上代码存为document_method.html并打开网页,点击网页中的按钮,原来的页面内容会被“这是通过document.open构建新的文档”替换,这个文档的名字是new_doc,这似乎打开了一个新的网页文档,但实际上这个new_doc文档只是一个临时的、虚拟的文件,它在我们的计算机磁盘上,是不存在的,只要关闭浏览器窗口,这个文档也就永远不存在了。
由此可见,通过Document一系列方法的组合应用,可以构建许多事实上并不存在、却又不影响用户浏览的临时网页文档。
三、Document对象的事件
Document对象的事件主要有鼠标事件和键盘事件,见下表。
事件名
说明
onClick
单击鼠标
onDbClick
双击鼠标
onMouseDown
按下鼠标左键
onMouseUp
放开鼠标左键
onMouseOver
鼠标移到对象上
onMouseOut
鼠标离开对象
onMouseMove
移动鼠标
onSelectStart
开始选取对象内容
onDragStart
开始以拖方式移动选取对象内容
onKeyDown
按下键盘按键
onKeyPress
用户击打任意键。
在文档中与Document对象相对应的HTML标记是
,所以,调用Document对象的事件过程时要在标记中添加代码。
例如:
上表中的各种事件,也可以应用给html的其它对象。
如网页中常见的一种效果:
当鼠标经过某张图片时,打开了一个新的广告网页,就是把onMousemove事件应用给图片(img)对象。
其代码可以写成如下:
四、其他对象
VBScript的对象模型中,还提供了其它几个对象,它们一样具有自己相应的属性、方法与事件。
这些对象的使用方法,与前面介绍的window、document对象都大同小异,可以参考学习。
以下我们对这些对象作一个简略的介绍。
1.History对象
History对象(浏览历史)包含用户已经浏览过的URL集合,提供了浏览器的导航按钮功能,可以通过文档的历史记录来浏览文档。
History对象拥有以下主要属性和方法。
(1)Length属性:
给出历史表中的URL数目。
(2)Back方法:
用于在历史表中往回搜索,即后退。
(3)Forward方法:
用于在历史表中向前搜索,即前进。
(4)Go方法:
在历史表中跳转到指定的项。
【应用举例】History对象示例。
History对象示例
Subback_onclick
History.Back‘或者History.go(-1),两者效果一样
EndSub
Subgo_onclick
History.go(0)
EndSub
SubForward_onclick
History.Forward‘或者History.go
(1)
EndSub
页面内容
2.Navigator对象
Navigator对象包含浏览器的信息,该对象拥有以下主要属性。
(1)AppCodeName属性:
返回浏览器的代码名称。
(2)AppName属性:
返回浏览器的名称。
(3)AppVersion属性:
返回浏览器的版本号。
(4)UserLanguage属性:
返回当前用户所使用的语言。
3.Link对象
表示文档中的所有超链接,每个链接都是Links数组中的一个元素,可以通过索引值来访问,Links(0)是第一个链接。
例如:
在文档中分别有:
友情链接一
友情链接二
友情链接三
友情链接四
即:
links(0)=“”
Links
(1)=“”
4.Location对象
Location对象包含当前URL的信息。
该对象包括以下主要属性和方法。
(1)Href属性:
返回或设置当前文档的完整URL,相当于document对象中的location属性。
(2)Hash属性:
用于返回或设置当前URL中”#”后面的部分(即锚点)名称。
(3)Host属性:
用于返回或设置当前URL中的主机名和端口部分。
(4)HostName属性:
用于返回或设置当前URL中的主机名。
(5)Port属性:
用于返回或设置当前URL中的端口部分。
(6)Path属性:
用于返回或设置当前URL中的路径部分(不支持)。
(7)Protocol属性:
用于返回或设置当前URL中的协议类型。
(8)Search属性:
用于返回或设置当前URL中的查询字符串。
(9)ReLoad方法:
重新加载当前文档。