JavaScript学习笔记(5)--面向半新不新的新手

八、JavaScript其他常用窗口对象

l           屏幕(screen)对象

l           浏览器信息(navigator)对象

l           窗口(window)对象

l           网址(location)对象

l           历史(history)对象

l           框架(frame)对象

 

8.1 屏幕(screen)对象

屏幕对象是JavaScript运行时自动产生的对象,它实际上是独立于窗口对象的。屏幕对象主要包含了计算机屏幕的尺寸及颜色信息,这些信息是只读的。

 

屏幕对象常用属性

 

 

height

显示屏幕的高度

width

显示屏幕的宽度

availHeihgt

可用高度

availWidth

可用宽度

colorDepth

每像素中用于颜色的位数,其值为1,4,8,15,16,24,32

 

availHeihgt(可用高度)指的是屏幕高度减去系统环境所需要的高度。在Windows操作系统中,“可用高度”一般指的就是屏幕高度减去Windows任务栏的高度。

通过使用屏幕的可用高度和可用宽度,可以设置屏幕窗口对象的尺寸。

 

 

 

8.2        浏览器信息(navigator)对象

浏览器信息对象主要包含了浏览器用户使用计算机操作系统的有关信息,这些信息是只读的。

 

浏览器信息对象常用属性

  

  

appVersion

浏览器版本号

appCodeName

浏览器内码名称

appName

浏览器名称

platform

用户操作系统

userAgent

该字符串包含了浏览器的内码名称及版本号,它被包含在向服务器端请求的头字符串中,用于识别用户

language(IE)

userLanguage(IE)

systemLanguage(IE)

browserLanguage(IE)

浏览器设置的语言

操作系统设置的语言

操作系统缺省设置的语言

浏览器设置的语言

 

 

8.3  窗口(window)对象

窗口对象是浏览器网页的文档对象模型结构中的最高级对象,只要网页的HTML标记中包含有标记,该网页就会包含一个窗口对象。

由于不同的浏览器定义的窗口属性和方法差别较大,这里仅列出各种浏览器最常用的窗口对象的属性和方法。

窗口对象的属性和方法大致可分为以下3类:

1)子对象类。例如,文档对象、历史对象、网址对象、屏幕对象、浏览器信息对象等。

2)窗口内容、位置及尺寸类。例如,新建窗口、多个窗口的控制、在窗口的状态栏中显示信息、滚动窗口的内容等。

3)输入/输出信息与动画。其中动画控制的方法为setInterval()setTimeout()clearInterval()clearTimeout()

窗口对象常用属性

 

 

document

文档对象

frames

框架对象

screen

屏幕对象

navigator

浏览器信息对象

length

框架数组的长度

history

历史对象

location

网址对象

name

窗口名字

opener

打开当前窗口的窗口对象

parent

当前窗口的上一级窗口对象

self

当前窗口或框架

status

状态栏中的信息

defaultStatus

状态栏的缺省信息

窗口对象常用方法

 

 

alert(信息字符串)

打开一个包含信息字符串的提示框

confirm(信息字符串)

打开一个包含信息、确定和取消钮的对话框

prompt(信息字符串,缺省的用户输入信息)

打开一个用户可以输入信息的对话框

focus()

聚焦到窗口

blur()

离开窗口

open(网页地址窗口名[特性值])

打开窗口

close()

关闭窗口

setInterval(函数毫秒)

每隔指定毫秒时间执行调用一下函数

setTimeout(函数毫秒)

指定毫秒时间后调用函数

clearInterval(id)

取消setInterval设置

clearTimeout(id)

取消setTimeout设置

scrollBy(水平像素值垂直像素值)

窗口相对滚动设置的尺寸

scrollTo(水平像素点垂直像素点)

窗口滚动到设置的位置

resizeBy(水平像素值垂直像素值)

按设置的值相对地改变窗口尺寸

resizeTo(水平像素值垂直像素值)

改变窗口尺寸至设置的值

moveBy(水平像素值垂直像素值)

按设置的值相对地移动窗口

moveTo(水平像素点垂直像素点)

将窗口移动到设置的位置

 

8.3.1  多窗口控制

1)新建窗口

通过窗口对象方法window.open()可以在当前网页中弹出新窗口,该方法的语法规则如下。

窗口对象 = window.open([网页地址,窗口名,窗口特性])

   窗口名可以是有效的字符串或HTML保留的窗口名,例如,”_self””_top””_parent””_blank”等。窗口特性的格式为特性名1=特性值1;特性名2=特性值2……”的字符串。

 

窗口特性及其值

   

 

   

height

窗口高度

单位为像素

width

窗口宽度

单位为像素

top

窗口左上角至屏幕左上角的高度距离

单位为像素

left

窗口左上角至屏幕左上角的宽度距离

单位为像素

location

是否有网址栏

1,没有 0,缺省为1

menubar

是否有菜单栏

1,没有 0,缺省为1

scollbar

是否有滚动条

1,没有 0,缺省为1

toolbar

是否有工具条

1,没有 0,缺省为1

status

是否有状态栏

1,没有 0,缺省为1

resizable

是否可改变窗口尺寸

可以1,不可以0,缺省为1

 

 

 

 

2)窗口的尺寸及位置

如果要设置新窗口的尺寸,即新窗口的宽度和高度,可以通过window.open与语句中的特性width(宽度)、height(高度)设置;如果要设置已有的窗口的尺寸,可以通过窗口对象的resizeTo()resizeBy()方法重新设置窗口的尺寸。

3)滚动网页

使用窗口对象的方法scollTo()scollBy()可以“移动”网页的内容到指定的坐标位置,如果与动画方法setTimeout()一起使用,可以得到真正的“滚动”网页的效果。

4)状态栏内容

使用窗口对象的status(状态)属性可以在浏览器窗口的状态栏中显示各种字符串,其语法规则为:window.status

该属性最常用的应用是隐藏网页的链接地址。通过onmouseover onmouseout来改变窗口对象状态信息的内容。

5)窗口之间的控制及关闭窗口

当打开多个窗口时,可以通过窗口对象的“相对”属性,如opener(打开者)parent(上一级),或窗口名称进行窗口之间的控制。

使用窗口对象的close()方法可以进行关闭窗口的操作。值得注意的是,对于使用窗口对象open()的方法打开的窗口,可以无条件地通过close()方法进行关闭;对于不是使用窗口对象open()的方法打开的窗口,有些浏览器不允许使用close()方法进行关闭,有的则会出现确认窗口才会关闭。

 

8.4  网址(location)对象

网址对象是窗口对象中的子对象,它包含了窗口对象的网页地址内容,即URL。网址对象既可以作为窗口对象中的一个属性直接赋值或提取值,也可以通过网址对象的属性分别赋值或提取值。使用网址对象的语法规则如下:

当前窗口:window.location          location

          window.location.属性     location.属性

          window.location.方法     location.方法

指定窗口:窗口对象.location

窗口对象.location.属性

窗口对象.location.方法

URL http://67.85.238.132:18/cbx/essay.jsp?username=admin&group=grp1#blue

 

 

 

href

整个url字符串

http:// 67.85.238.132:18/

cbx/essay.jsp?username=admin&group=grp1#blue

hash

url中由#开始的锚点名称

#blue

hostname

url中的服务器名、域名、IP地址

67.85.238.132

port

url中端口名

18

host

url中的hostnameport

67.85.238.132

pathname

url中的文件名或路径名

/cbx/essay.jsp

protocol

url中从开始至冒号(包括冒号)表示通信协议的字符串

http

search

href中从”?”开始至结束的表示变量的字符串

?username=admin&group=grp1#blue

 

8.5        历史记录(history)对象

历史记录对象是窗口对象下的一个子对象,它实际上是一个对象数组,包含了一系列的用户访问过的URL地址,用于浏览器工具栏中的“Back to…(后退)”和“Forward to…(前进)”按钮。使用历史对象的语法规则如下:

当前窗口:

window.history.属性    history.属性

window.history.方法    history.方法

指定窗口:

指定窗口.history.属性

指定窗口.history.方法

8.5.1  历史对象的常用属性和方法

历史对象最常用的属性是length(历史对象长度),它就是浏览器历史列表中访问过的地址个数。历史对象中的back()forward()分别对应的是浏览器工具栏中的前进、后退按钮,通过方法go()可以改变当前网页至曾经访问过的任何一个网页。history.back()history.go(-1)等效,history.forward()history.go(1)等效。

值得注意的是,如果go()中的参数n超过了历史列表中的网址个数,或者go()中的参数“网址”不在浏览器的历史列表中,这时,不会出现任何错误,只是当前网页没有发生变化。

 

历史对象常用方法

 

 

back()

显示浏览器的历史列表中后退一个网址的网页

forward()

显示浏览器的历史列表中前进一个网址的网页

go(n)go(网址)

显示浏览器的历史列表中第n个网址的网页,n>0表示前进,反之,n<0表示后退或显示浏览器的历史列表中对应的“网址”网页

 

 

8.6  框架(frame)对象

框架对象是由HTML中的标记产生的,它实际就是窗口下独立的一个窗口,因此它具有与窗口对象几乎相同的属性和方法,与真正的窗口对象不同的是,它总是与上一级的窗口对象在同一个浏览器的窗口中。例如,要引用框架对象中的窗体元素时的语法规则如下。

窗口对象.框架对象.文档对象.窗体对象.窗体对象元素

在多框架对象中,要从一个框架对象中引用另一个框架中的窗体元素时,就可以使用窗口对象中的关系属性parent

parent.另一框架对象.文档对象.窗体对象.窗体对象元素

同样,可以使用上述方法从一个框架对象中引用另一个框架中的JavaScript函数或全局变量,即:

parent.另一框架对象.JavaScript函数名

parent.另一框架对象.JavaScript全局变量名

对于不同的浏览器,还会有不同的框架对象,例如,对于IE浏览器,还提供了HTML标记为