JavaScript之BOM

  ECMAScript是JavaScript的核心,但在Web中使用JavaScript,那么BOM才是真正的核心。BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。

window对象

  BOM的核心对象是window,它表示浏览器的一个实例。在浏览器中,window既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。所以在全局作用域中声明的变量、函数都会编程window对象的属性和方法。

窗口关系和框架

  如果页面中包含框架,则每个框架都有自己的window对象,并且保存在frames集合中。与框架有关的对象有:

  • top:始终指向最高(最外)层框架
  • parent:始终指向当前框架的直接上层框架
  • self:始终指向window

窗口位置

  调整窗口位置有关的属性有:screenLeft、screenTop、screenX、screenY(在不同浏览器中的支持不同)。

  移动窗口的方法:moveTo()、moveBy()。

窗口大小

  窗口大小相关的属性有:innerWidth、innerHeight、outerWidth、outerHeight、clientWidth、clientHeight。

  调整窗口大小的方法:resizeTo()、resizeBy()。

导航和打开窗口

  打开:open()

  关闭:close()

系统对话框

  系统对话框相关方法:alert()、confirm()、prompt()。

location对象

  location是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。location既是window对象的属性,也是document对象的属性,即window.location和document.location引用的是同一个对象。

  location对象的所有属性:

  • hash:返回URL中的hash
  • host:返回服务器名称和端口号
  • hostname:返回不带端口号的服务器名称
  • href:返回当前加载页面的完整URL
  • pathname:返回URL中的目录和文件名
  • port:返回URL中指定的端口号。
  • protocol:返回页面使用的协议
  • search:返回URL的查询字符串

  location相关方法:assign()(传递一个URL)、reload()(重新加载当前显示的页面)。

  navigator对象现在已经成为识别客户端浏览器的事实标准,其包含的属性通常用于检测显示网页的浏览器的类型。

screen对象

  screen对象基本只用来表明客户端的能力,其中包括浏览器窗口外部的显示器信息等,每个浏览器中的screen对象都包含着不相同的属性。在JavaScript编程中用处不大。

history对象

  history对象保存用户上网的历史记录,从窗口被打开的那一刻算起。

  相关方法:go()(实现在用户的历史记录中任意跳转)、back()(后退一页)、forward()(前进一页)。

打赏点猫粮钱吧~