BOM | 青训营笔记
这是我参与「第四届青训营 」笔记创作活动的的第3天
BOM浏览器对象模型
window对象
BOM的核心对象是window,它表示浏览器的一个实例。
它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。
location对象
location是最有用的BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能
查询字符串参数
function getQueryStringArgs(){
var qs = (location.search.length > 0 ? location.search.substring(1) : " "),
args = {},
items = qs.length ? qs.split("&") : [],
item = null,
name = null,
value = null,
i = 0,
len = items.length;
for (i=0; i<len; i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if(name.length){
args[name] = value;
}
}
return args
}
位置操作
- assign()为其传递一个URL(window.location和location.href效果一样)
- 修改location对象的其他属性也可以改变当前加载的页面。hash、search、hostname、pathname和port
- reload()重新加载当前显示的页面
navigator对象
最早由Netscape Navigator 2.0引入的navigator对象,现在已经成为识别客户端浏览器的事实标准
screen对象
screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等
history对象
history对象保存者用户上网的历史记录,从窗口被打开的那一刻算起
go() 方法可以在用户的历史记录中任意跳转,可以向后也可以向前。back() 和forward() 可以代替go()
总结
浏览器对象模型(BOM)以window对象为依托,表示浏览器窗口以及页面可见区域。同时,window对象还是ECMAScript中的Global对象,因而所有全局变量和函数都是它的属性,且所有原生的构造函数以及其他函数也都存在于它的命名空间下。