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