浏览器对象(Navigator)
提供有关浏览器的信息
窗口对象(Window)
Window对象处于对象层次的最顶端,它提供了处理Navigator窗口的方法和属性。
位置对象(Location)
Location对象提供了与当前打开的URL一起工作的方法和属性,它是一个静态的对象。
历史对象(History)
History对象提供了与历史清单有关的信息。
文档对象(Document)
document对象包含了与文档元素(elements)一起工作的对象,它将这些元素封装起来供编程人员使用。
1.Window窗口对象
是JavaScript中最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。
属性:
?
name 窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame
name="...">)或某一个窗口调用的 open() 方法(见下)决定。一般我们不会用这个属性。
? status
指窗口下方的“状态栏”所显示的内容。通过对 status 赋值,可以改变状态栏的显示。
? opener
用法:window.opener;返回打开本窗口的窗口对象。注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回
null;在 IE 中返回“未定义”(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 JavaScript
常数,如果你企图使用“undefined”,那就真的返回“未定义”了。
? self 指窗口本身,它返回的对象跟 window
对象是一模一样的。最常用的是“self.close()”,放在<a>标记中:“<a
href="javascript:self.close()">关闭窗口</a>”。
? parent
返回窗口所属的框架页对象。
? top 返回占据整个浏览器窗口的最顶端的框架页对象。
? history 历史对象,见下。
?
location 地址对象,见下。
? document 文档对象,见下。
方法:
open()
打开一个窗口。
用法:
open(<URL字符串>, <窗口名称字符串>,
<参数字符串>);
说明:
?
<URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(‘‘),则不打开任意网页。
?
<窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用‘_top‘、‘_blank‘等内建名称。这里的名称跟“<a
href="..." target="...">”里的“target”属性是一样的。
?
<参数字符串>:描述被打开的窗口的样貌。如果只需要打开一个普通窗口,该字符串留空(‘‘),如果要指定样貌,就在字符串里写上一到多个参数,参数之间用逗号隔开。
例:打开一个
400 x 100
的干净的窗口:
open(‘‘,‘_blank‘,‘width=400,height=100,menubar=no,toolbar=no,location=no,directories=no,status=no,
scrollbars=yes,resizable=yes‘)
open()的参数
? top=# 窗口顶部离开屏幕顶部的像素数
?
left=# 窗口左端离开屏幕左端的像素数
? width=# 窗口的宽度
? height=# 窗口的高度
?
menubar=... 窗口有没有菜单,取值yes或no
? toolbar=... 窗口有没有工具条,取值yes或no
?
location=... 窗口有没有地址栏,取值yes或no
? directories=... 窗口有没有连接区,取值yes或no
?
scrollbars=... 窗口有没有滚动条,取值yes或no
? status=... 窗口有没有状态栏,取值yes或no
?
resizable=... 窗口给不给调整大小,取值yes或no
注意:open() 方法有返回值,返回的就是它打开的窗口对象。比如var newWindow =
open(‘‘,‘_blank‘);把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。
close()
关闭一个已打开的窗口。
用法:
window.close()
或
self.close()
主要作用是关闭本窗口;
<窗口对象>.close():关闭指定的窗口。注意如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。
另外Window窗口对象还有如下方法
?
blur() 使焦点从窗口移走,窗口变为“非活动窗口”。
? focus() 是窗口获得焦点,变为“活动窗口”。不过在 Windows
98,该方法只能使窗口的标题栏和任务栏上的相应按钮闪烁,提示用户该窗口正在试图获得焦点。
? scrollTo()
用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(x, y)点滚动到窗口的左上角。
?
scrollBy() 用法:[<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下滚动
deltaY 像素。如果取负值,则向相反的方向滚动。
? resizeTo() 用法:[<窗口对象>.]resizeTo(width,
height);使窗口调整大小到宽 width 像素,高 height 像素。
? resizeBy()
用法:[<窗口对象>.]resizeBy(deltaWidth, deltaHeight);使窗口调整大小,宽增大 deltaWidth
像素,高增大 deltaHeight 像素。如果取负值,则减少。
? alert()
用法:alert(<字符串>);弹出一个只包含“确定”按钮的对话框,显示<字符串>的内容,整个文档的读取、Script
的运行都会暂停,直到用户按下“确定”。
? confirm()
用法:confirm(<字符串>);弹出一个包含“确定”和“取消”按钮的对话框,显示<字符串>的内容,要求用户做出选择,
整个文档的读取、Script 的运行都会暂停。如果用户按下“确定”,则返回 true 值,如果按下“取消”,则返回 false 值。
?
prompt() 用法:prompt(<字符串>[,
<初始值>]);弹出一个包含“确认”“取消”和一个文本框的对话框,显示<字符串>的内容,要求用户在文本框输入一些数据,整
个文档的读取、Script 的运行都会暂停。如果用户按下“确认”,则返回文本框里已有的内容,如果用户按下“取消”,则返回 null
值。如果指定<初始值>,则文本框里会有默认值。
事件:
window.onload;发生在文档全部下载完毕的时候。全部下载完毕意味着不但 HTML
文件,而且包含的图片,插件,控件,小程序等全部内容都下载完毕。本事件是 window 的事件,但是在 HTML
中指定事件处理程序的时候,我们是把它写在<body>标记中的。
?
window.onunload;发生在用户退出文档(或者关闭窗口,或者到另一个页面去)的时候。与 onload 一样,要写在 HTML
中就写到<body>标记里。
? window.onresize;发生在窗口被调整大小的时候。
?
window.onblur;发生在窗口失去焦点的时候。
? window.onfocus;发生在窗口得到焦点的时候。
?
window.onerror;发生在错误发生的时候。它的事件处理程序通常就叫做“错误处理程序”(Error
Handler),用来处理错误。上边已经介绍过,要忽略一切错误,就使用:function ignoreError() {
return
true;
}
? window.onerror = ignoreError;
window.onbeforeunload="window.event.returnValue=‘确定要离开吗?‘"; 会弹出是否离开本页的对话框;
浏览器是边装载边解析并执行其中的javascript脚本的,装载完才会执行onload。
还有
navigate方法
setInterval方法:循环执行某段程序;
setTimeout方法:一段时间后执行某段程序
showModalDialog
showModalessDialog
2.Document文档对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。它包含了文档从<head>到</body>的内容。
用法:document
(当前窗口) 或 <窗口对象>.document (指定窗口)
属性:
? document.title
//设置文档标题等价于HTML的<title>标签
? document.bgColor //设置页面背景色
?
document.fgColor //设置前景色(文本颜色)
? document.linkColor //未点击过的链接颜色
?
document.alinkColor //激活链接(焦点在此链接上)的颜色
? document.vlinkColor
//已点击过的链接颜色
? document.URL //设置URL属性从而在同一窗口打开另一网页
?
document.fileCreatedDate //文件建立日期,只读属性
? document.fileModifiedDate
//文件修改日期,只读属性
? document.fileSize //文件大小,只读属性
? document.cookie
//设置和读出cookie
? document.charset //设置字符集 简体中文:gb2312
? cookie 关于
cookie 请参看“使用框架和 Cookies”一章。
? lastModified 当前文档的最后修改日期,是一个 Date 对象。
?
referrer 如果当前文档是通过点击连接打开的,则 referrer 返回原来的 URL。
? title
指<head>标记里用<title>...</title>定义的文字。在 Netscape 里本属性不接受赋值。
?
fgColor 指<body>标记的 text 属性所表示的文本颜色。
? bgColor 指<body>标记的
bgcolor 属性所表示的背景颜色。
? linkColor 指<body>标记的 link 属性所表示的连接颜色。
?
alinkColor 指<body>标记的 alink 属性所表示的活动连接颜色。
? vlinkColor
指<body>标记的 vlink 属性所表示的已访问连接颜色。
内部数组对象
在Javascript中为了方便内部对象的操作,可以使用窗体(Forms)、框架(Frames)、元素(element)、链接(links)和锚(Anchors)数组实现对象的访问。
例:
<A
name="anchor1" href="test33.htm">链接到第三个文本</a>
<A
href="#anchor1">第一锚点</a>
document.links.length==2,document.anchors.length==1。
方法:
? open()
打开文档以便 JavaScript 能向文档的当前位置(指插入 JavaScript 的位置)写入数据。通常不需要用这个方法,在需要的时候 JavaScript
自动调用。
? write(); writeln() 向文档写入数据,所写入的会当成标准文档 HTML 来处理。writeln() 与
write() 的不同点在于,writeln() 在写入数据以后会加一个换行。这个换行只是在 HTML 中换行,具体情况能不能够是显示出来的文字换行,要看插入
JavaScript 的位置而定。如在<pre>标记中插入,这个换行也会体现在文档中。
? clear() 清空当前文档。
?
close() 关闭文档,停止写入数据。如果用了 write[ln]() 或 clear() 方法,就一定要用 close()
方法来保证所做的更改能够显示出来。如果文档还没有完全读取,也就是说,JavaScript 是插在文档中的,那就不必使用该方法。
例如,典型的弹出式更新通知:
<script language="JavaScript">
var whatsNew =
open(‘‘,‘_blank‘,‘top=50,left=50,width=200,height=300,‘ +
‘menubar=no,toolbar=no,directories=no,location=no,‘ +
‘status=no,resizable=no,scrollbars=yes‘);
whatsNew.document.write(‘<center><b>更新通知</b></center>‘);
whatsNew.document.write(‘<p>最后更新日期:00.08.01‘);
whatsNew.document.write(‘<p>00.08.01:增加了“我的最爱”栏目。‘);
whatsNew.document.write(‘<p
align="right">‘ +
‘<a
href="javascript:self.close()">关闭窗口</a>‘);
whatsNew.document.close();
</script>
也可以先写好一个
HTML 文件,在 open() 方法中直接 load 这个文件。
write()
writeln();
clear();可以用write("")和close()方法来实现clear的功能;
createElement();
createStyleSheet();
<script>标签对中的document对象与事件函数中的document对象不是同一个对象。
在document.close()后的操作,是新开启了一个document
当write(‘</script>‘)时,它可能会被误认为是第一个script的结束标记,解决方法是改成write(‘</sc‘ + ‘ript>‘);
3. forms[]; Form 表单对象 document.forms[]
是一个数组,包含了文档中所有的表单(<form>)。要引用单个表单,可以用
document.forms[index],但是一般来说,人们都会这样做:在<form>标记中加上“name="..."”属性,那么直接用
“document.<表单名>”就可以引用了。
Form 对象的属性
name 返回表单的名称,也就是<form
name="...">属性。
action 返回/设定表单的提交地址,也就是<form
action="...">属性。
method 返回/设定表单的提交方法,也就是<form
method="...">属性。
target 返回/设定表单提交后返回的窗口,也就是<form
target="...">属性。
encoding 返回/设定表单提交内容的编码方式,也就是<form
enctype="...">属性。
length 返回该表单所含元素的数目。
方法
reset()
重置表单。这与按下“重置”按钮是一样的。
submit() 提交表单。这与按下“提交”按钮是一样的。
事件
onreset;
onsubmit
4.anchors数组对象
links数组对象
images数组对象
scripts数组对象
applets数组对象
all数组
styleSheets数组对象
body对象,
4.window的对象属性
location对象:
window.location.href="" 等效于 widnow.navigate("") 的作用。
widnow.location.replace("")
widnow.location.reload
event对象:
altKey属性
ctlKey属性
shiftKey属性
和事件源相关的坐标
clientX,clientY属性
screenX,screenY属性
offsetX,offsetY属性
x,y属性
returnValue属性
cancelBubble属性 ,为true时阻止某次事件向上传递。
srcElement属性
keyCode属性,码值
frames数组对象
访问帧窗口对象的方式:
window.parent.frame[1]...
window.parent.frame["framename1"]...
window.parent["framename1"]...
window.parent.framename1.....
window.parent.item[1]...
window.parent.item["framename1"]...
top属性
screen对象
clipBoardData对象
history对象
navigator对象
document对象
body对象的事件:
onSelectStart
onScroll