Bom是什么
浏览器对象模型(Browser Object Model (BOM))尚无正式标准。
由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性。
浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。
Bom有什么对象
bom中分别有5个对象。
Window 对象:它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
screen对象:screen对象是包含了用户屏幕的信息。
navigator对象:navigator对象的主要作用识别客户端浏览器。
location对象:window对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL。因为这个属性返回的是一个对象,所以我们将这个属性也称为location对象。
history对象:history对象保存着用户上网的历史记录.
这5个对象的主要属性和方法是:
一,window对象
window对象是所有浏览器都支持 window 对象。它表示浏览器窗口。
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
全局变量是 window 对象的属性。
全局函数是 window 对象的方法。
window的属性
属性 | 描述 |
---|---|
closed | 返回窗口是否被关闭 |
defaultStatus | 设置或返回窗口状态栏中的默认文本 |
history | 对window.history对象的只读引用 |
document | 对document对象的只读引用 |
innerheight | 文档显示区高度 |
innerwidth | 文档显示区宽度 |
length | 设置或返回窗口中的框架数量 |
location | 用于窗口或框架的location对象 |
name | 设置或返回窗口的名称 |
navigator | 对window.navigator对象的只读引用 |
opener | 返回对创建此窗口的引用 |
outerheight | 窗口外部高度 |
outerwidth | 窗口外部宽度 |
pageXOffset | 设置或返回当前页面相对于窗口显示区左上角的x位置 |
pageYOffse | 设置或返回当前页面相对于窗口显示区左上角的y位置 |
parent | 返回父窗口 |
screen | 对window.screen对象的只读引用 |
self | 放回对当前窗口的引用,等价于window属性 |
status | 设置窗口状态栏的文本 |
top | 返回最顶层的先辈窗口 |
window | 等价于self,包含了对窗口自身的引用 |
screenLeft/screenRight | 只读整数,声明了窗口的左上角在品目上的x坐标和y坐标。IE,Safari,Opera支持↓ |
screenX/screenY | screenLeft/screenRight,而Firefox和Safari支持screenX/screenY |
window对象的方法
方法 | 描述 |
---|---|
alert() | 警告框 |
blur() | 键盘焦点从顶层窗口移开 |
clearInterval() | 取消周期性定时器 |
clearTimeout() | 取消一次性定时器 |
close() | 关闭浏览器窗口 |
confirm() | 显示带有消息及确认取消按钮的对话框 |
createPopup() | 创建一个弹出窗口(???) |
focus() | 把键盘的焦点给窗口 |
moveBy() | 基于当前窗口的坐标,向某个方向移动指定像素距离 |
moveTo() | 窗口的左上角移动到指定位置 |
open() | 打开一个新的浏览器窗口或查找一个已经命名的窗口 |
print() | 打印当前窗口的内容 |
prompt() | 可输入的对话框 |
resizeBy() | 按照指定的像素调整窗口的大小 |
resizeTo() | 窗口的大小调整到指定的宽高 |
scrollBy() | 指定的像素值来滚动内容 |
scrollTo() | 内容滚动到指定坐标 |
setInterval() | 周期性定时器 |
setTimeout() | 一次性定时器 |
二,screen对象
screen对象是包含了用户屏幕的信息。
属性有:
属性 | 说明 |
---|---|
height | 屏幕的像素高度 |
width | 屏幕的像素宽度 |
availHeight | 屏幕的像素高度减去系统部件高度之后的值(只读) |
availWidth | 屏幕的像素宽度减去系统部件宽度之后的值(只读) |
left | 当前屏幕距左边的像素距离[firefox返回0,chrome和IE不支持] |
top | 当前屏幕距上方的像素距离[firefox返回0,chrome和IE不支持] |
当前屏幕距上方的像素距离[firefox返回0,chrome和IE不支持] | 未被系统部件占用的最左侧的像素值(只读)[chrome和firefox返回0,IE不支持] |
availTop | 未被系统部件占用的最上方的像素值(只读)[chrome和firefox返回0,IE不支持] |
bufferDepth | 读、写用于呈现屏外位图的位数[IE返回0,chrome和firefox不支持] |
colorDepth | 用于表现颜色的位数(只读)[IE8-返回32,其他浏览器返回24] |
pixelDepth | 屏幕的位深(只读)[IE8-不支持,其他浏览器返回24] |
deviceXDPI | 屏幕实际的水平DPI(只读)[IE返回96,chrome和firefox不支持] |
logicalXDPI | 屏幕逻辑的水平DPI(只读)[IE返回96,chrome和firefox不支持] |
三,navigator对象
navigator对象的主要作用识别客户端浏览器。
使用方法:
//判断用户浏览器的类型
console.log(window.navigator.userAgent);
//判断浏览器所在的系统平台
console.log(window.navigator.platform);
四,Location对象
1,什么是location对象
window对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL。因为这个属性返回的是一个对象,所以我们将这个属性也称为location对象。
是window对象的一部分,可以通过
console.log(window.(location))//来访问
同时也是window对象里最有用的一个
2、URL
统一资源定位符(URL)是互联网上标准资源的地址。互联网上的每个文件都有唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的一般语法格式为
protocol : // host [ : port ] / path / [ ?query ] # fragment
http://www.itcast.cn/index.html?name=andy&age=18#link
组成 | 说明 |
---|---|
protocol | 通信协议 常用的http,frp,maito等 |
host | 主机(域名) |
port | 端口号 可选,省略时使用方案的默认端口 如http的默认端口为80 |
path | 路径由零或多个 / 符号隔开的字符串,一般用来表示主机上的一个目录或文件地址 |
query | 参数 以键值对的形式,通过&符号分隔开来 |
fragment | 片段 #后面内容 常见于链接 锚点 |
3,location 对象的属性
location对象属性 | 返回值 |
---|---|
location.href | 获取或者设置 整个URL |
location.host | 返回主机域名 |
location.port | 返回端口号 如果未写返回空字符串 |
location.pathname | 返回路径 |
location.search | 返回参数 |
location.hash | 返回片段 #后面内容 常见于链接 锚点 |
4、location对象的方法
location对象方法 | 返回值 |
---|---|
location.assign() | 跟href一样,可以跳转页面(也称为重定向页面) |
location.replace() | 替换当前页面,因为不记录历史,所以不能后退页面 |
location.reload() | 重新加载页面,相当于刷新按钮或者f5 如果参数为true强制刷新 ctrl+f5 |
五,history对象
1,history对象的内容
history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。history作为window对象的属性,因此每个浏览器窗口、每个标签页乃至每个框架,都有自己的history对象与特定的window对象关联。
2,history对象的方法
history.length 属性:保存着历史记录的输了,这个数量包括所有历史记录,即所有向后和向前的记录。对于加载到窗口、标签页或框架中的第一个页面而言,history.length等于0。
history.go() 方法:在用户的历史记录中任意跳转,接受一个参数,表示向前或向后跳转的页面数的一个整数值。负数表示向后跳转(类似于浏览器后退按钮),正数向前(对应浏览器前进按钮)
history.back() 方法:前往上一页;等价于history.go(-1)
history.forward() 方法:前往下一页;等价于history.go(1)