JavaScript-BOM对象(Browser Object Model)

一.BOM对象(Browser Object Model)

BOM是Browser Object Model浏览器对象模型,用于管理浏览器窗口,因此其核心对象是window对象	
功能:
	1.弹出新浏览器窗口的能力;
	2.移动、关闭和更改浏览器窗口大小的能力;
	3.可提供WEB浏览器详细信息的导航对象;
	4.可提供浏览器载入页面详细信息的本地对象;
	5.可提供用户屏幕分辨率详细信息的屏幕对象;
	6.支持Cookies;

window对象的子对象:
	document 对象
	frames 对象
	navigator 对象
	screen 对象
	location 对象
	history 对象

BOM最有用的功能是提供了入口document对象(DOM对象),通过这个入口可以访问/操作Html文档!
window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。
由于window是顶层对象,因此调用子对象时可以不显示指明window对象
例如:
	document.write("BOM");
	window.document.write("BOM");		

二.window对象

window对象表示浏览器中打开的窗口,
如果文档包含框架(<frame>或<iframe>标签),浏览器会为HTML文档创建一个window对象,并为每个框架frame创建一个额外的window对象

1.window对象属性

closed	返回窗口是否已被关闭。
defaultStatus	设置或返回窗口状态栏中的默认文本。
document	对 Document 对象的只读引用。请参阅 Document 对象。
history	对 History 对象的只读引用。请参数 History 对象。
innerheight	返回窗口的文档显示区的高度。
innerwidth	返回窗口的文档显示区的宽度。
length	设置或返回窗口中的框架数量。
location	用于窗口或框架的 Location 对象。请参阅 Location 对象。
name	设置或返回窗口的名称。
navigator	对 navigator 对象的只读引用。请参数 navigator 对象。
opener	返回对创建此窗口的窗口的引用。
outerheight	返回窗口的外部高度。
outerwidth	返回窗口的外部宽度。
pageXOffset	设置或返回当前页面相对于窗口显示区左上角的 X 位置。
pageYOffset	设置或返回当前页面相对于窗口显示区左上角的 Y 位置。
parent	返回父窗口。
Screen	对 Screen 对象的只读引用。请参数 Screen 对象。
self	返回对当前窗口的引用,等价于 Window 属性。
status	设置窗口状态栏的文本。
top	返回最顶层的先辈窗口。
window	等价于self属性,它包含了对窗口自身的引用。
screenLeft  
screenTop
screenX
screenY
		只读整数。声明了窗口的左上角在屏幕上的的 x 坐标和 y 坐标。
		IE、Safari 和 Opera 支持 screenLeft 和 screenTop,
		而 Firefox 和 Safari 支持 screenX 和 screenY。

2.window对象方法

alert()	显示带有一段消息和一个确认按钮的警告框。
blur()	把键盘焦点从顶层窗口移开。
clearInterval()	取消由setInterval()设置的定时任务
clearTimeout()	取消由setTimeout()设置的定时任务
close()	关闭浏览器窗口。
confirm()	显示带有一段消息以及确认按钮和取消按钮的对话框。
createPopup()	创建一个 pop-up 窗口。
focus()	把键盘焦点给予一个窗口。
moveBy()	可相对窗口的当前坐标把它移动指定的像素。
moveTo()	把窗口的左上角移动到一个指定的坐标。
open()	打开一个新的浏览器窗口或查找一个已命名的窗口。
print()	打印当前窗口的内容。
prompt()	显示可提示用户输入的对话框。
resizeBy()	按照指定的像素调整窗口的大小。
resizeTo()	把窗口的大小调整到指定的宽度和高度。
scrollBy()	按照指定的像素值来滚动内容。
scrollTo()	把内容滚动到指定的坐标。
setInterval()	按照指定的周期(以毫秒计)来调用函数或计算表达式,返回定时器id
setTimeout()	在指定的毫秒数后调用函数或计算表达式,返回定时器id

三.window.navigator对象

navigator对象包含有关浏览器的信息

1.navigator对象属性

appCodeName	返回浏览器的代码名。
appMinorVersion	返回浏览器的次级版本。
appName	返回浏览器的名称。
appVersion	返回浏览器的平台和版本信息。
browserLanguage	返回当前浏览器的语言。
cookieEnabled	返回指明浏览器中是否启用 cookie 的布尔值。
cpuClass	返回浏览器系统的 CPU 等级。
onLine	返回指明系统是否处于脱机模式的布尔值。
platform	返回运行浏览器的操作系统平台。
systemLanguage	返回 OS 使用的默认语言。
userAgent	返回由客户机发送服务器的 user-agent 头部的值。
userLanguage	返回 OS 的自然语言设置。

2.navigator对象方法

javaEnabled()	指定是否在浏览器中启用Java
taintEnabled()	规定浏览器是否启用数据污点(data tainting)

四.window.screen对象

screen对象存放着有关显示浏览器屏幕的信息

screen对象属性

availHeight	返回显示屏幕的高度 (除 Windows 任务栏之外)。
availWidth	返回显示屏幕的宽度 (除 Windows 任务栏之外)。
bufferDepth	设置或返回调色板的比特深度。
colorDepth	返回目标设备或缓冲器上的调色板的比特深度。
deviceXDPI	返回显示屏幕的每英寸水平点数。
deviceYDPI	返回显示屏幕的每英寸垂直点数。
fontSmoothingEnabled	返回用户是否在显示控制面板中启用了字体平滑。
height	返回显示屏幕的高度。
logicalXDPI	返回显示屏幕每英寸的水平方向的常规点数。
logicalYDPI	返回显示屏幕每英寸的垂直方向的常规点数。
pixelDepth	返回显示屏幕的颜色分辨率(比特每像素)。
updateInterval	设置或返回屏幕的刷新率。
width	返回显示器屏幕的宽度。

五.window.location对象

location对象包含有关当前URL的信息(当前窗口的Web地址)

1.Location对象属性

hash	设置或返回从井号 (#) 开始的 URL(锚)。
host	设置或返回主机名和当前 URL 的端口号。
hostname	设置或返回当前 URL 的主机名。
href	设置或返回完整的 URL。
pathname	设置或返回当前 URL 的路径部分。
port	设置或返回当前 URL 的端口号。
protocol	设置或返回当前 URL 的协议。
search	设置或返回从问号 (?) 开始的 URL(查询部分)。

2.location对象方法

reload()	重新加载当前网页
assign()	加载新网页,可以后退上一页	
replace()	用新网页替换当前网页,不能后退上一页

六.window.history对象

history对象包含用户(在浏览器窗口中)访问过的URL.
这个对象属于历史遗留对象,对于现代Web页面来说,由于大量使用AJAX和页面交互,调用history.back()可能会让用户愤怒!
任何情况,都不应该使用history对象!!!

1.history对象属性

length      返回浏览器历史列表中的 URL 数量。

2.history对象方法

back()	    加载 history 列表中的前一个 URL。
forward()	加载 history 列表中的下一个 URL。
go()	    加载 history 列表中的某个具体页面。

简书: http://www.jianshu.com/p/b685a0f19f74
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/78268362#t12
GitHub博客: http://lioil.win/2017/10/17/js-bom.html
Coding博客: http://c.lioil.win/2017/10/17/js-bom.html