BOM(浏览器对象模型)

BOM 能干啥?

浏览器对象模型 (BOM)使我们可以用 JavaScript 操控浏览器,使 JavaScript 有能力与浏览器"对话"。

BOM 都有啥?

5大对象:其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象(Screen、Location、History、Navigator)。

  • window:管理 浏览器所有的东西
  • location:管理 URL
  • navigator:管理 浏览器信息
  • history:管理 历史记录
  • screen:管理 屏幕

一、Window对象

所有浏览器都支持 window 对象。它表示浏览器窗口,在浏览器中最顶层的对象。

所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。

全局变量是 window 对象的属性。

全局函数是 window 对象的方法。

【1】Window对象属性

属性描述语法

closed

返回一个布尔值,该值声明了窗口是否已经关闭。window.closed

defaultStatus

设置或返回窗口状态栏中的默认文本。window.defaultStatus

document

管理DOM(详情见下文) 

frames

返回窗口中所有命名的框架。该集合是 Window 对象的数组,每个 Window 对象在窗口中含有一个框架。window.frames

history

管理历史记录(详情见下文) 

innerHeight

返回窗口的文档显示区的高度。(不包含工具栏和滚动条)window.innerHeight

innerWidth

返回窗口的文档显示区的宽度。(不包含工具栏和滚动条)window.innerWidth

localStorage

在浏览器中本地存储 key/value 对。没有过期时间。window.localStorage

length

设置或返回窗口中的框架数量。(包括iframes)window.length

location

管理URL(详情看下文) 

name

设置或返回窗口的名称。window.name

navigator

管理浏览器信息(详情看下文) 

opener

返回来自目标窗口(父窗口)的详细信息window.opener

outerHeight

返回窗口的外部高度。(包含工具条与滚动条)window.outerHeight

outerWidth

返回窗口的外部宽度。(包含工具条与滚动条)window.outerWidth

pageXOffset

设置或返回当前页面相对于窗口显示区左上角的 X 位置。window.pageXOffset

pageYoffset

设置或返回当前页面相对于窗口显示区左上角的 Y 位置。window.pageYOffset

parent

返回当前窗口的父窗口。window.parent

screen

管理屏幕(详情见下文) 

screenLeft

返回相对于屏幕窗口的x坐标window.screenLeft

screenTop

返回相对于屏幕窗口的y坐标window.screenTop

screenX

返回相对于屏幕窗口的x坐标window.screenX

screenY

返回相对于屏幕窗口的y坐标window.screenY

sessionStorage

在浏览器本地存储 key/value 对。 在关闭窗口或标签页之后将会删除这些数据。window.sessionStorage

self

返回对当前窗口的引用。等价于 Window 属性。window.self

status

设置窗口状态栏的文本。window.status

top

返回最顶层的父窗口。window.top

【2】Window 对象方法

方法描述语法

alert()

显示带有一段消息和一个确认按钮的警告框。alert(message)

atob()

解码一个 base-64 编码的字符串。

window.atob(encodedStr) 

encodedStr:必需,是一个通过 atob() 方法编码的字符串。

btoa()

创建一个 base-64 编码的字符串。

window.btoa(str) 

str: 必需,要编码的字符串。

blur()

把键盘焦点从顶层窗口移开。window.blur()

clearInterval()

取消由 setInterval() 设置的 timeout。

clearInterval(timer)

调用 setInterval() 函数时所获得的返回值timer,使用该返回标识符作为参数,可以取消该 setInterval() 所设定的定时执行操作

clerarTimeout()

取消由 setTimeout() 方法设置的 timeout。

clearTimeout(timer)

调用 setTimeout() 函数时所获得的返回值timer,使用该返回标识符作为参数,可以取消该 setTimeout() 所设定的定时执行操作

close()

关闭浏览器窗口。window.close()

confirem()

显示带有一段消息以及确认按钮和取消按钮的对话框。confirm(message)

createPopup()

创建一个 pop-up 窗口。window.createPopup()

focus()

把键盘焦点给予一个窗口。window.focus()
getSelection()返回一个 Selection 对象,表示用户选择的文本范围或光标的当前位置。window.getSelection()

getComputedStyle()

获取指定元素的 CSS 样式。

window.getComputedStyle(element, pseudoElement)

element:必需,要获取样式的元素。

pseudoElement:可选,伪类元素,当不查询伪类元素的时候可以忽略或者传入 null。

matchMedia()

该方法用来检查 media query 语句,它返回一个 MediaQueryList对象。

window.matchMedia(mediaQueryString)

mediaQueryString:必需,一个字符串,表示即将返回一个新 MediaQueryList 对象的媒体查询。

 

moveBy()

可相对窗口的当前坐标把它移动指定的像素。window.moveBy(x,y)

moveTo()

相对窗口的左上角移动到一个指定的坐标。window.moveTo(x,y)

open()

打开一个新的浏览器窗口或查找一个已命名的窗口。

window.open(URL,name)

 

URL:可选。打开指定的页面的URL。如果没有指定URL,打开一个新的空白窗口

 

name:可选。指定target属性或窗口的名称。支持以下值:

  • _blank - URL加载到一个新的窗口。这是默认
  • _parent - URL加载到父框架
  • _self - URL替换当前页面
  • _top - URL替换任何可加载的框架集
  • name - 窗口名称

print()

打印当前窗口的内容。window.print()

prompt()

显示可提示用户输入的对话框。

prompt(msg,defaultText)

 

msg:可选。要在对话框中显示的纯文本(而不是 defaultText:HTML 格式的文本)。

可选。默认的输入文本

resizeBy()

按照指定的像素调整窗口的大小。

resizeBy(width,height)

width:必需。要使窗口宽度增加的像素数。可以是正、负数值

height:可选。要使窗口高度增加的像素数。可以是正、负数值

resizeTo()

把窗口的大小调整到指定的宽度和高度。

window.resizeTo(width,height)

width:必需。设置窗口的宽度,以像素为单位

height: 必需。设置窗口的高度,以像素为单位

scrollBy()

按照指定的像素值来滚动内容。

scrollBy(xnum,ynum)

xnum:必需。把文档向右滚动的像素数。

ynum:必需。把文档向下滚动的像素数。

scrollTo()

把内容滚动到指定的坐标。

scrollTo(xpos,ypos)

xpos:必需。要在窗口文档显示区左上角显示的文档的 x 坐标。

ypos:必需。要在窗口文档显示区左上角显示的文档的 y 坐标。

setInterval()

按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval(function,milliseconds, param1,param2...)

function:必需。要调用一个代码串,也可以是一个函数。

milliseconds:必须。周期性执行或调用code/function 之间的时间间隔,以毫秒计。

param: 可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

setTimeout()

在指定的毫秒数后调用函数或计算表达式。

setTimeout(function,milliseconds, param1,param2...)

function:必需。要调用一个代码串,也可以是一个函数。

milliseconds:可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。

param: 可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)

stop()

停止页面载入。window.stop()

二、Location对象

Location 对象包含有关当前 URL 的信息。

Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。

【1】Location 对象属性

属性描述语法

hash

设置或返回一个URL的锚部分(从#号开始的部分)location.hash

host

设置或返回一个URL的主机名和端口location.host

hostname

设置或返回URL的主机名location.hostname

href

设置返回完整的URLlocation.href

pathname

设置或返回的URL路径名。location.pathname

port

设置或返回一个URL服务器使用的端口号location.port

protocol

设置或返回一个URL协议location.protocol

search

设置或返回一个URL的查询部分(eg:?email=dingFY@163.com)location.search

【2】Location 对象方法

方法说明语法

assign()

载入一个新的文档location.assign(URL)

 reload()

重新载入当前文档location.reload(forceGet)可选。如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。

replace()

用新的文档替换当前文档location.replace(newURL)

三、navigator对象

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

【1】Navigator 对象属性

属性说明语法

appCodeName

返回浏览器的代码名navigator.appCodeName

appName

返回浏览器的名称navigator.appName

appVersion

返回浏览器的平台和版本信息navigator.appVersion
language返回浏览器设置的语言navigator.language

cookieEnabled

返回指明浏览器中是否启用 cookie 的布尔值navigator.cookieEnabled

platform

返回运行浏览器的操作系统平台navigator.platform
userAgent返回由客户机发送服务器的user-agent 头部的值navigator.userAgent

【2】Navigator 对象方法

方法描述语法

javaEnabled()

指定是否在浏览器中启用Javanavigator.javaEnabled()

taintEnabled()

规定浏览器是否启用数据污点(data tainting)navigator.taintEnabled()

四、history对象

History 对象包含用户(在浏览器窗口中)访问过的 URL。

History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。

【1】History 对象属性

属性说明语法

length

返回历史列表中的网址数history.length

【2】History 对象方法

方法说明语法

back()

加载 history 列表中的前一个 URL,等价于history.go(-1)history.back()

forward()

加载 history 列表中的下一个 URL等价于history.go(1)history.forward()

go()

加载 history 列表中的某个具体页面,参数可以是数字( URL 在 History 的 URL 列表中的相对位置)也可以是具体URLhistory.go(num | URL)

五、screen对象

Screen 对象包含有关客户端显示屏幕的信息。

【1】Screen 对象属性

属性说明语法

availHeight

返回屏幕的高度(不包括Windows任务栏)screen.availHeight

availWidth

返回屏幕的宽度(不包括Windows任务栏)screen.availWidth

colorDepth

返回目标设备或缓冲器上的调色板的比特深度screen.colorDepth

height

返回屏幕的总高度screen.height

width

返回屏幕的总宽度screen.width

pixelDepth

返回屏幕的颜色分辨率(每象素的位数)screen.pixelDepth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Demi

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值