BOM对象

204 阅读2分钟

一、什么是BOM

BOM是浏览器对象,可以获取和浏览器相关的,比如url、窗口、代理等相关对象的信息可以通过BOM获取

二、BOM有哪些常见的对象

  • window对象(屏幕相关)

  ①可以给window对象赋属性

 从下图中我们可以看出,给window对象赋a属性且赋值就打印window对象就可以看到

  ②可以获取当前浏览器窗口的宽高

window.innerHeight
window.innerWidth

  ③window.open(url)

  传入一个url可以打开一个新的标签页,且响应url

  • location对象(url相关)

   以url: http://localhost:8088/#/orderManage/inbound为例

   ①属性hash:声明了锚,对应的是#后面的值

location.hash
#/orderManage/inbound

   ②属性host:host对应的主机名+端口

location.host
localhost:8088

   ③属性hostname:对应主机名

location.hostname
localhost

   ④属性href:对应整个url

location.href
http://localhost:8088/#/orderManage/inbound

   ⑤属性origin:

location.origin
http://localhost:8088

   ⑥属性pathname:当前 URL的路径部分

location.pathname
换个url http://www.123.cn:80/news/index.asp?id=123&name=location#top
/news/index.asp

   ⑦属性port:对应端口

location.port
8088

   ⑧属性protocol:协议

location.protocol
http

   ⑨属性search: 声明当前查询的部分,?及其后面的部分

location.search
换个url http://www.123.cn:80/news/index.asp?id=123&name=location#top
?id=123&name=location#top

   API

 ①方法replace(url):可以装载一个新文档而无须为它创建一个新的历史记录。也就是说,在history对象的地址列表中移除这个URL。这样在浏览器中就不能通过单击“返回”按钮返回当前的文档

 ②方法reload(true):重新加载,不传参数true资源加载有可能是从本地缓存,也有可能是服务器,但是添加参数true表示必须从服务器上加载

  • history对象(url历史跳转相关)

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

  API

  ①方法back(): 加载history列表中的前一个url

  ②方法forward(): 加载history列表中的下一个url

  ③方法go(number|url): 加载history列表中某个具体页面

  • navigator对象(浏览器代理相关)

可以用于判断是否包含某个插件

if (navigator.mediaDevices === undefined) {

        navigator.mediaDevices = {}

}

  • screen对象(屏幕相关)

   ①availHeight:屏幕可利用高度

   ②availWidth:屏幕可利用宽度