BOM概述

  • BOM(browser object model)浏览器对象模型**
  • BOM提供了独立于内容而与浏览器窗口进行交互的对象、载入页面的相关信息,其核心对象是window对象。
  • BOM 没有相关标准,每个浏览器都定义了自己的属性,并且,都有其自己对BOM的实现方式。
  • W3C虽然没有为BOM统一制定标准,但是其中的窗口对象、导航对象等,因功能趋同,实际上已经成为默认的标准。

BOM对象

window对象

window对象(宿主对象)表示一个浏览器窗口(或一个框架),所有浏览器的属性和方法,都被定义在window这个对象之上。 js通过window对象,就可以对浏览器进行操作(读取/修改浏览器属性、操作标签元素、响应用户事件等)。 window对象是全局对象,并且是唯一的,因此在使用中可以省略不写,例如:可以只写 document,而不必写 window.document。同样,可以把window对象的方法当作函数来使用,如只写 alert(),而不必写window.alert()。

window方法

window的方法 说明
alert() 提示框
confirm() 带有确认 取消 按钮的提示框(返回true或false)
prompt() 带有可输入内容的文本域 的提示框
setInterval() 间隔定时器,可按照指定的周期(以毫秒计)来调用函数或计算表达式
clearInterval() 清除间隔定时器
setTimeout() 超时定时器,在指定的毫秒数后调用函数
clearTimeout() 清除超时定时器
open() 打开一个新的浏览器窗口
close() 关闭窗口

history 历史记录

history的属性

  • length:返回浏览器历史列表中URL的数量

histroy的方法

  1. window.history.go() 刷新
  2. window.history.go(1) 前进(跳转)
  3. window.history.go(-1) 后退(跳转)
  4. window.history.forward() 前进
  5. window.history.back() 后退

location 定位

  1. location的属性

    • protocol: 当前的URL协议
    • hostname: 当前URL的主机名
    • port: 当前URL的端口号
    • host: 当前的URL主机名和端口号
    • pathname: 当前的URL的路径
    • hash: 以#开始的URL的锚(想要达到页面中的固定位置时使用)
    • search: 以?开始的URL拼接部分
    • href: 当前URL的完整路径
  2. location的方法

    • assign() 加载新的文档(原始页面可以返回,仍然存在)
    • reload() 页面重载
    • replace() 用新文档替换当前文档(原始页面不可以返回,不存在)
  1. window.navigator.userAgent 浏览器类型、版本、操作系统类型、浏览器引擎类型等信息
    //返回浏览器的名称
  2. navigator.appName
    //返回浏览器的平台和版本信息
  3. navigator.appVersion
    //返回指明浏览器中是否启用 cookie 的布尔值
  4. navigator.cookieEnabled
    //返回运行浏览器的操作系统平台
  5. navigator.platform