BOM
专门操作浏览器的API;
六个子对象
history:浏览器的历史记录;
location:窗口的url 地址栏的信息;
navigator: 浏览器的配置信息;
document:DOM;
screen:显示设备的信息;
event: 事件对象;
History
History对象封装当前你窗口打开后,成功访问过的url的历史记录栈;是 window 对象的一部分,可通过 window.history 属性对其进行访问。
history.go(n):后退 前进 刷新。
back():加载 history 列表中的前一个 URL;效果等价于调用 history.go(-1)。
forward():加载 history 列表中的下一个 URL;效果等价于调用 history.go(1)。
Location
location:封装当前窗口正在打开的网址(url);
属性:
href:设置或返回完整的url地址;
host:设置或返回主机名和当前 URL 的端口号;
hash:设置或返回从井号 (#) 开始的 URL(锚);
search:查询字符串(问号 ? 之后的部分);
hostname:设置或返回当前 URL 的主机名;
pathname:设置或返回当前 URL 的路径部分;
protocol:设置或返回当前 URL 的协议;
方法:
assign() :在当前窗口打开新url;
replace():在当前窗口打开新url;用新的url替换history中当前url;
reload():重新加载当前页面;
ex:如何快速的获取url后任意一个搜索参数
function parseSearch(){
// 获取location的search,保存在变量search
var search = location.search;
// 创建一个空对象
var obj ={};
// 选取search中1位置后的剩余内容
var splits = search.slice(1).split("&");
// 遍历splits
for(var i = 0,arr=[];i < splits.length;i++){
// 将当前元素按=切割,保存到数组arr中
arr = splits[i].split("=");
// 将arr中0位置的元素保存为obj的属性名,1位置的元素保存为obj的属性值
obj[arr[0]]=arr[1];
}
return obj;
}
var params = parseSearch();
console.dir(params);