BOM

window对象

BOM的核心对象是window,它表示浏览器的一个实例,在网页中定义的任何一个对象、变量和函数都以window作为其global对象。

  • 全局作用域

在全局作用域中声明的变量、函数都会变成window对象的属性和方法。

全局变量不能通过delete操作符删除,而直接在window对象上定义的属性可以

  • 窗口关系及框架

    如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中,在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)或者框架名称来访问相应的window对象,每个window对象都有一个name属性,其中包含框架的名称。

    top对象始终指向最外围的框架,parent对象表示包含当前框架的框架,self对象始终指向window

  • 窗口位置

screenLeft、screenTop分别表示窗口相对于屏幕左边和上边的位置

screenX、screenY(Firefox)

使用moveTo和moveBy方法可以调整窗口位置

  • 窗口大小

    innerWidth、innerHeight、outerWidth、outerHeight

    chrome中,这四个都返回视口viewport的大小,而非浏览器窗口  

    对于混杂模式下的chrome,无论通过document.documentElement还是document.body中的clientWidth和clientHeight属性,都可以取得视口的大小  

    使用resizeTo()和resizeBy()可以调整浏览器窗口的大小  

  • 导航和打开窗口

    使用window.open()可以导航到一个特定的url

  • 间歇调用和超时调用

    超时调用setTimeout()在指定的时间过后执行代码

    间歇调用setInterval()每隔指定的时间就执行一次代码

    超时调用的代码都是在全局作用域中执行的,因此函数中this的值在非严格模式下指向window对象,在严格模式下是undefined

  • 系统对话框

   浏览器通过alert、confirm、prompt方法可以调用系统对话框向用户显示消息。显示这些对话框的时候代码会停止执行,而关掉这些对话框后代码又会恢复执行

 

location对象

    location对象提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能,既是window对象的属性也是document对象的属性。它可以将URL解析为独立的片段,让开发人员可以通过不同的属性访问这些片段(hash、host、hostname、href、pathname、port、protoco、search)

    location.assign()=window.location=location.href:立即打开新URL并在浏览器的历史纪记录中生成一条记录

    replace()不会在历史记录中生成新记录

    reload()重新加载当前显示的页面,如果不传递参数,页面就会以最有效的方式重新加载(比如缓存),如果参数为true,则会强制从服务器加载

 

navigator对象

  识别客户端浏览器的事实标准

  • 检测插件navigator.plugins.name/description/filename/length
  • 注册处理程序registerContentHandler()和 registerProtocolHandler()可以让一个站点指明它可以处理特定类型的信息

 

screen对象

  用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素高度和宽度等,用处不大。

history对象

  保存着用户上网的历史记录。

  使用go()方法可以在用户的历史记录中任意跳转,负数后退(=back()),正数前进   (=forward())

  length属性,保存着历史记录的数量,第一个页面为0

 

posted @ 2020-04-28 17:51  KWskrrrr  阅读(145)  评论(0编辑  收藏  举报