浏览器高级对象

浏览器对象(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

原文地址:https://www.cnblogs.com/tyhmj/p/3520979.html