BOM--浏览器对象模型

浏览器对象模型(BOM)是什么?

  1. BOM是Browser Object Model的缩写,简称浏览器对象模型。
  2. BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。
  3. BOM体系结构图:
    在这里插入图片描述
  4. BOM能做什么?
    BOM提供了一些访问窗口对象的一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。但BOM最强大的功能是它提供了一个访问HTML页面的一入口——document对象,以使得我们可以通过这个入口来使用DOM的强大功能。

Window对象的属性、方法

一、系统对话框
  1. alert(msg) :显示带有一段消息和一个确认按钮的警告框。
    在这里插入图片描述

  2. confirm(msg) :显示带有一段消息以及确认按钮和取消按钮的对话框。返回值为布尔值。
    在这里插入图片描述

  3. prompt(msg, default) :显示可提示用户输入的对话框。返回值为输入的值,取消返回null。
    在这里插入图片描述

二、窗体控制
  1. window.open(url, target, features, replace);
    用于打开一个新的浏览器窗口或查找一个已命名的窗口。
  • URL:声明了要在新窗口中显示的文档的 URL。
  • name:声明了新窗口的名称或者窗口目标。
  • features:声明了新窗口要显示的标准浏览器的特征。
  • replace:布尔值,规定装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。
  1. window.close();
    用于关闭浏览器窗口。
三、定时器
  1. setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。
  2. setTimeout() :在指定的毫秒数后调用函数或计算表达式。
  3. clearInterval(): 取消由 setInterval() 设置的 timeout。
  4. clearTimeout(): 取消由 setTimeout() 方法设置的 timeout。
四、其他方法
  1. print(): 打印当前窗口的内容。
  2. blur() :把键盘焦点从顶层窗口移开。
  3. createPopup(): 创建一个 pop-up 窗口。
  4. focus() :把键盘焦点给予一个窗口。
  5. moveBy() :可相对窗口的当前坐标把它移动指定的像素。
  6. moveTo() :把窗口的左上角移动到一个指定的坐标。
  7. resizeBy():按照指定的像素调整窗口的大小。
  8. resizeTo() :把窗口的大小调整到指定的宽度和高度。
  9. scrollBy() :按照指定的像素值来滚动内容。
  10. scrollTo(): 把内容滚动到指定的坐标。
五、属性
  • innerWidth:返回窗口的文档显示区的宽度。
  • innerHeight:返回窗口的文档显示区的高度。
  • name:设置或返回窗口的名称。
  • opener:返回对创建此窗口的窗口的引用。
  • closed:返回窗口是否已被关闭。
  • self:返回对当前窗口的引用。
  • top:返回最顶层的先辈窗口。
  • outerheight:返回窗口的外部高度。
  • outerwidth:返回窗口的外部宽度。
  • status:设置窗口状态栏的文本。
  • 。。。。。。

Location对象的属性、方法

一、属性

以“https://www.baidu.com/s:80?wd=%E7%96%AB%E6%83%85&ie=UTF-8#content”为例:

  • href:返回完整的URL。(https://www.baidu.com/s:80?wd=%E7%96%AB%E6%83%85&ie=UTF-8#content)
  • hash:返回一个URL的锚部分。(#content)
  • host:返回一个URL的主机名和端口。(www.baidu.com)
  • hostname:返回URL的主机名。(www.baidu.com)
  • pathname:返回的URL路径名。(/s)
  • port:返回一个URL服务器使用的端口号。(80)
  • protocol:返回一个URL协议。(https:)
  • search:返回一个URL的查询部分。(?wd=%E7%96%AB%E6%83%85&ie=UTF-8)
    注意:除了修改hash之外,其余的都会重新请求页面。但是修改hash也会在浏览器生成一条记录
二、方法
  • assign() :载入一个新的文档。
  • reload(forceGet) :重新载入当前文档。
    如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
    如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 的效果是完全一样。
  • replace(newUrl):用新的文档替换当前文档。
三、示例
  function getQueryStrings(search) {
     // 1.去掉问号 id=3&name=lee
     const qs = search.length ? search.substring(1) : '';

     // 2.声明一个数据对象,保存结果
     const args = {}

     // 3.将字符串转换成二维数组 [ [id: 3], [name: 'lee'] ]
     const qsList = qs.split('&').map(item => item.split('='))

     // 4.遍历二维数组
     for(const item of qsList) {
         const name = decodeURIComponent(item[0])
         const value = decodeURIComponent(item[1])
         if(name.length) {
             args[name] = value
         }
     }
     return args
 }
 console.log(getQueryStrings('?id=3&name=lee')); // {id: "3", name: "lee"}

History对象的属性、方法

一、属性
  • length:表示历史记录中条目的个数,包括可以前进和后退的页面
二、方法
  • back():加载 history 列表中的前一个 URL。
  • forward():加载 history 列表中的下一个 URL。
  • go(number|URL):加载 history 列表中的某个具体页面。

Navigator对象的属性

  • appCodeName:返回浏览器的代码名。
  • appName:返回浏览器的名称。
  • appVersion:返回浏览器的平台和版本信息。
  • cookieEnabled:返回指明浏览器中是否启用 cookie 的布尔值。
  • platform: 返回运行浏览器的操作系统平台。
  • userAgent:返回由客户机发送服务器的user-agent 头部的值。
  • plugins:返回浏览器安装的插件数组
  • 。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值