BOM对象

113 阅读3分钟

一、什么是BOM

  • 浏览器对象模型(Browser Object Model)。主要用在客户端浏览器的管理。

  • 一直没有被标准化,不过各个主流浏览器都支持BOM,浏览器提供商会按照各自的想法随意去扩展它

  • 它使 javascript 有能力与浏览器进行“对话”。

二、window对象

  • BOM 的核心对象是 window,它表示浏览器的一个实例。是客户端浏览器对象模型的基类。
  • 在浏览器中,window 对象有双重角色,它既是通过 JavaScript 访问浏览器窗口的一个接口,又是 ECMAScript 规定的 Global 对象。
  • 这意味着在网页中定义的任何一个对象、变量和函数,都以 window 作为其 Global 对象,因此有权访问 isNaN()isFinite()parseInt()parseFloat() 等方法

2.1 全局作用域

  • 由于 window 对象同时扮演着 ECMAScript 中 Global 对象的角色,因此所有在全局作用域中声明的变量、函数都会变成 window 对象的属性和方法

2.2 访问客户端对象

使用 window对象可以访问客户端其他对象,这种关系构成浏览器对象模型。

  • navigator:包含客户端有关浏览器的信息
  • screen:包含客户端屏幕的信息(使用较少)
  • history:包含浏览器窗口访问过的URL历史信息
  • location:包含当前网页文档的URL信息
  • document:包含整个HTML文档,可以用来访问文档内容及其所有页面元素

使用系统对话框
  • 浏览器通过 alert()confirm()prompt() 方法可以调用系统对话框向用户显示消息。
  • 系统对话框与在浏览器中显示的网页没有关系,也不包含 HTML。它们的外观由操作系统及(或)浏览器设置决定,而不是由 CSS 决定。
  • 通过这几个方法打开的对话框都是同步和模态的。也就是说,显示这些对话框的时候代码会停止执行,而关掉这些对话框后代码又会恢复执行。

2.3.1 alert()

  • 它向用户显示一个系统对话框,其中包含指定的文本和一个 OK(“确定”)按钮。
  • 通常使用 alert() 生成的“警告”对话框向用户显示一些他们无法控制的消息,例如错误消息。
  • 用户只能在看完消息后关闭对话框。

2.3.2 confirm()

  • 这种“确认”对话框很像是一个“警告”对话框。但二者的主要区别在于“确认”对话框除了显示OK按钮外,还会显示一个 Cancel(“取消”)按钮,两个按钮可以让用户决定是否执行给定的操作。
  • 为了确定用户是单击了OK还是Cancel,可以检查 confirm() 方法返回的布尔值:true 表示单击了OK,false 表示单击了Cancel或单击了右上角的 X 按钮。

2.3.3 prompt()

  • 这是一个“提示”框,用于提示用户输入一些文本。
  • 提示框中除了显示 OK 和 Cancel 按钮之外,还会显示一个文本输入域,以供用户在其中输入内容。
  • prompt() 方法接受两个参数:要显示给用户的文本提示和文本输入域的默认值(可以是一个空字符串)。
  • 如果用户单击了 OK 按钮,则 promp() 返回文本输入域的值;如果用户单击了 Cancel 或没有单击 OK 而是通过其他方式关闭了对话框,则该方法返回 null