一.BOM
浏览器对象模型。包括window, document, location ,navigator , screen,frame对象
BOM提供了独立于内容而与浏览器窗口进行交互的对象。
二.window对象
window对象表示整个浏览器窗口,但不必表示其中包含的内容。Window还可用于移动或调整它表示的浏览器的大小。
(1)、window对象在框架中的应用
使用框架集合,每个框架都由它自己的window对象表示,存放在frames集合中。可用数字(由0开始,从左到右,逐行的)或名字对框架进行索引。可以用top对象代替window对象(例如:top.frames[0])。top对象指向的都是最顶层的框架,即浏览器窗口自身。
(2)、窗口操作
(3)、状态栏
window.status属性设置状态栏要显示的内容。
window.defaultStatus属性设置状态栏默认显示内容。
三.document对象
document对象是window对象的属性,是唯一一个既属性BOM又属性DOM。
document对象也有许多集合,提供对载入的页面的各个部分的访问:
集合 | 说明 |
anchors | 页面中的所有锚的集合 |
applets | 页面中所有applet的集合 |
embeds | 页面中所有嵌入式对象的集合 |
forms | 页面中所有表单的集合 |
images | 页面中所有图像的集合 |
links | 页面中所有链接的集合 |
可以用数字或名字引用document对象的每个集合。如:document.images[0]
四.location对象
Location 对象包含有关当前 URL 的信息。
1.Location 对象属性
假设当前的 URL 是: http://example.com:1234/test.htm#part2:
hash:hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)。
使用document.write(location.hash
);
输出:#part2
host:host 属性是一个可读可写的字符串,可设置或返回当前 URL 的主机名称和端口号。
document.write(location.host
);
输出:example.com:1234
hostname:hostname 属性是一个可读可写的字符串,可设置或返回当前 URL 的主机名。
href: href 属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整 URL。
document.write(location.href
);
输出:http://example.com:1234/test.htm#part2
port: port 属性是一个可读可写的字符串,可设置或返回当前 URL 的端口部分
partname: pathname 属性是一个可读可写的字符串,可设置或返回当前 URL 的路径部分
document.write(location.pathname);
输出:/test/test.htm
protocol: protocol 属性是一个可读可写的字符串,可设置或返回当前 URL 的协议。
document.write(location.protocol);
输出:http:
search: search 属性是一个可读可写的字符串,可设置或返回当前 URL 的查询部分(问号 ? 之后的部分)。
假设当前的 URL 是: http://www.w3school.com.cn/tiy/t.asp?f=hdom_loc_search
document.write(location.search
);
输出:?f=hdom_loc_search
2.location对象方法
assign(): assign()方法可加载一个新的文档。
语法:location.assign(URL)
window.location.assign("http://www.w3school.com.cn")
reload():reload()方法用于重新加载当前文档。
replace() :replace()方法可用一个新文档取代当前文档。 语法:location.replace(newURL)
replace() 方法不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前记录
五.navigator对象
反映了当前使用的浏览器的资料。
属性:
appCodeName 返回浏览器的“码名”(?),流行的 IE 和 NN 都返回 'Mozilla'。
appName 返回浏览器名。IE 返回 'Microsoft Internet Explorer',NN 返回 'Netscape'。
appVersion 返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。
platform 返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 'Win32'(大小写可能有差异)。
userAgent 返回以上全部信息。例如,IE5.01 返回 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)'。
javaEnabled() 返回一个布尔值,代表当前浏览器允许不允许 Java。
screen 屏幕对象 反映了当前用户的屏幕设置。
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 返回占据整个浏览器窗口的最顶端的框架页对象。
protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。
hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
port 返回地址的端口号,一般 http 的端口号是 '80'。
host 返回主机名和端口号,如:'www.a.com:8080'。
pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。
search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。
href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”来达到此目的。
方法:
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() 方法有返回值,返回的就是它打开的窗口对象。所以,
var newWindow = open('','_blank');
这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。
close() 关闭一个已打开的窗口。
用法:window.close() 或self.close():关闭本窗口;
<窗口对象>.close():关闭指定的窗口。
如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。
六. screen对象
- JavaScript availHeight 属性 -- 窗口可以使用的屏幕高度,单位像素
- JavaScript availWidth 属性 -- 窗口可以使用的屏幕宽度,单位像素
- JavaScript colorDepth 属性 -- 用户浏览器表示的颜色位数,通常为32位(每像素的位数)
- JavaScript pixelDepth 属性 -- 用户浏览器表示的颜色位数,通常为32位(每像素的位数)(IE不支持此属性)
- JavaScript height 属性 -- 屏幕的高度,单位像素
- JavaScript width 属性 -- 屏幕的宽度,单位像素