浏览器对象模型

浏览器对象模型

Browser Object Model 浏览器对象模型是浏览器为 js 提供的对象的集合,这些对象不需要显式的创建,可以被直接使用。
​ 例如常用的 window 对象表示的是浏览器的窗体,prompt() 方法和 alert() 方法都是 window 对象的方法;常用的 document 对象是加载在浏览器中的页面,write() 方法是 document 的方法。

window 对象所包含的对象属性

BOM

window 对象

​ window 对象可以认为是浏览器本身,是一个全局对象,再 js 中,全局函数和全局属性都是该全局对象的属性,声明一个全局变量或者函数时,就是为该全局变量生成了一个变量。

​ window 对象的某些属性也是对象。

对象简介
document浏览器中的页面
history用户所访问过的页面的历史信息
navigator包含的属性描述了正在使用的浏览器,可以使用这些属性进行平台专用的配置。
screen包含客户计算机显示器显示能力的信息
location浏览器所加载的当前页面的 url 的详细信息

history 对象

history 对象保存了用户访问过的页面信息,存储的页面信息列表被称为浏览器的历史栈。浏览器中的前进和后退就是通过访问历史栈中当前页面的后一个页面和前一个页面所实现的。

  • back() 可以访问当前页面的前一个页面,将 location 修改为前一个页面的 url
  • forward() 访问当前页面的后一个页面,将location 修改为后一个页面的 url
  • go() 参数为一个数字,表示之于当前页面的相对位置, go(-1) 相当于 back(),go(1) 则相当于 forward()
  • length 属性表示历史栈中页面的数量
history

location 对象

​ location 包含了当前页面的一些信息,包括当前页面的 url (href 属性),当前页面的域名(hostname 属性),端口号(port 属性)以及协议(protocol 属性)等信息。

​ 改变 location 的值能够改变当前页面的位置信息,或者对当前页面刷新。

刷新页面到其他页面可以有两种方式:

  • 重置当前页的 href 属性为其他页面:

    location.href='/'
    
  • 使用 replace() 方法替换当前页:

    location.replace('/')
    

​ 重置当前页面是将新页面添加到历史栈的顶部,而 replace 方法则是将历史栈中的该页面替换为新页面。

location

navigator 对象

navigator 对象包含了浏览器信息和当前操作系统的信息,可以用来判断不同的浏览器。

在这里插入图片描述

screen 对象

screen 对象包含计算机显示屏的信息,包含显示屏的高度和宽度等信息。

在这里插入图片描述

document 对象

document 对象可以认为是页面本身,所有由 html 标记所定义的各种对象的属性和方法都可以通过 document 对象访问。

  • images[] 数组:是 document 对象的一个属性,其中包含了页面上的图片,页面上的每一个图片,浏览器都将为其创建一个 img 对象,这些对象就被存储到 images[] 数组中;
  • links[] 数组:每个具有超链接属性 href 的标签都将被浏览器创建一个对象,这些对象被存放在 links[] 数组中;
  • forms[] 数组:每个 from 标签都将被浏览器创建一个对象,这些对象被存放在 forms[] 数组中。

在这里插入图片描述
在这里插入图片描述

检测浏览器版本

  • 检查某个对象的属性是否被用户所使用的浏览器实际支持;
  • 若不支持 JavaScript,则可以使用 noscript;
  • 使用 window.navigator 属性来检测浏览器原型;

用户所使用的浏览器实际支持;

  • 若不支持 JavaScript,则可以使用 noscript;
  • 使用 window.navigator 属性来检测浏览器原型;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值