BOM——浏览器对象模型(Browser Object Model)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BOM——浏览器对象模型(Browser

Object Model)

什么是BOM?

∙BOM是Browser Object Model的缩写,简称浏览器对象模型

∙BOM提供了独立于内容而与浏览器窗口进行交互的对象

∙由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window ∙BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性∙BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C(WHATWG,WebHypertextApplicationTechnologyWorkingGroup——

网页超文本应用程序技术工作组目前正在努力促进BOM的标准化)∙BOM最初是Netscape浏览器标准的一部分

基本的BOM体系结构图

能利用BOM做什么?

BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。但BOM最强大的功能是它提供了一

个访问HTML页面的一入口——document对象,以使得我们可以通过这个入口来使用DOM的强大功能!!!

window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,例如下面两行代码是一样的:

window -- window对象是BOM中所有对象的核心。window对象表示整个浏览器窗口,但不必表示其中包含的内容。此外,window还可用于移动或调整它表示的浏览器的大小,或者对它产生其他影响。

window子对象

∙document 对象

∙frames 对象

∙history 对象

∙location 对象

∙navigator 对象

∙screen 对象

window对象关系属性

∙parent:如果当前窗口为frame,指向包含该frame的窗口的frame (frame)

∙self :指向当前的window对象,与window同意。(window对象)∙top :如果当前窗口为frame,指向包含该frame的top-level的window 对象

∙window :指向当前的window对象,与self同意。

∙opener :当窗口是用javascript打开时,指向打开它的那人窗口(开启者)

window对象定位属性

∙IE提供了window.screenLeft和window.screenTop对象来判断窗口的位置,但未提供任何判断窗口大小的方法。用document.body.offsetWidth 和document.body. offsetHeight属性可以获取视口的大小(显示HTML

页的区域),但它们不是标准属性。

∙Mozilla提供window.screenX和window.screenY属性判断窗口的位置。

它还提供了window.innerWidth和window.innerHeight属性来判断视口的大小,window.outerWidth和window.outerHeight属性判断浏览器窗

口自身的大小。

window对象的方法

窗体控制

moveBy(x,y)——从当前位置水平移动窗体x个像素,垂直移动窗体y个像素,x为负数,将向左移动窗体,y为负数,将向上移动窗体

moveTo(x,y)——移动窗体左上角到相对于屏幕左上角的(x,y)点,当使用负数做为参数时会吧窗体移出屏幕的可视区域

resizeBy(w,h)——相对窗体当前的大小,宽度调整w个像素,高度调整h个像素。如果参数为负值,将缩小窗体,反之扩大窗体

resizeTo(w,h)——把窗体宽度调整为w个像素,高度调整为h个像素

窗体滚动轴控制

scrollTo(x,y)——在窗体中如果有滚动条,将横向滚动条移动到相对于窗体宽度为x个像素的位置,将纵向滚动条移动到相对于窗体高度为y

个像素的位置

scrollBy(x,y)——如果有滚动条,将横向滚动条移动到相对于当前横向滚动条的x个像素的位置(就是向左移动x像素),将纵向滚动条移动到相对于当前纵向滚动条高度为y个像素的位置(就是向下移动y像素)

窗体焦点控制

focus()——使窗体或控件获取焦点

blur()——与focus函数相反,使窗体或控件失去焦点

新建窗体

open()——打开(弹出)一个新的窗体

close()——关闭窗体

opener属性——新建窗体中对父窗体的引用,中文"开启者"的意思window.open方法语法

open方法参数说明

∙url -- 要载入窗体的URL

∙name -- 新建窗体的名称(目标,将在a 标签的target属性中用到,当与已有窗体名称相同时将覆盖窗体内容).open函数默认的打开窗体的方式为target的_blank弹出方式,因此页面都将以弹出的方式打开∙features -- 代表窗体特性的字符串,字符串中每个特性使用逗号分隔∙replace -- 一个布尔值,说明新载入的页面是否替换当前载入的页面,此参数通常不用指定

open函数features参数说明,如果不使用第三个参数,将打开一个新的普通窗口

open方法返回值为一个新窗体的window对象的引用

对话框

alert(str)——弹出消息对话框(对话框中有一个“确定”按钮)

confirm(str)——弹出消息对话框(对话框中包含一个“确定”按钮与“取消”按钮)

prompt(str,defaultValue)——弹出消息对话框(对话框中包含一个“确定”按钮、“取消”按钮与一个文本输入框),由于各个浏览器实现的不同,若没有第二个参数(文本框中的默认值)时也最好提供一个空字符串状态栏

window.defaultStatus 属性——改变浏览器状态栏的默认显示(当状态

栏没有其它显示时),浏览器底部的区域称为状态栏,用于向用户显示信息

window.status 属性——临时改变浏览器状态栏的显示

时间等待与间隔函数

setTimeout()——暂停指定的毫秒数后执行指定的代码

clearTimeout()——取消指定的setTimeout函数将要执行的代码

setInterval()——间隔指定的毫秒数不停地执行指定的代码

clearInterval()——取消指定的setInterval函数将要执行的代码setTimeout与setInterval方法有两个参数,第一个参数可以为字符串形式的代码,也可以是函数引用,第二个参数为间隔毫秒数,它们的返回是一个可用于对应clear方法的数字ID

History对象,在浏览器历史记录中导航

History 对象的属性:length 返回浏览器历史列表中的 URL 数量

History 对象的方法

∙back() 加载 history 列表中的前一个 URL

∙forward() 加载 history 列表中的下一个 URL

∙go(num) 加载 history 列表中的某个具体页面

相关文档
最新文档