**BOM:**浏览器对象模型 专门操作浏览器的api 兼容性不好。
核心操作对象是window:
1.它是js访问浏览器的一个接口,封装了所有dom和bom的方法。
2.它是全局作用域对象,定义在全局中的变量和函数都会变成它的属性和方法
六个字对象:
- document : DOM
- event:事件对象
- history:浏览器的历史记录
- location:窗口的url 地址栏的信息
- screen :显示设备的信息
- navigator :浏览器的配置信息
javascript标准化组织是ECMA
dom文档 对象模型标准化组织是w3c
**history:**封装当前窗口打开后,成功访问过的URL历史记录栈
length:返回浏览器历史列表中的URL数量
back():前一个URL
forward():后一个URL
go()某一个具体的页面 从0开始 是数值(-1代表后退 正值代表前进)
location:封装当前窗口正在打开的网址(URL)
.href 保存完整的URL地址
.protocol 协议(http https)
host 端口 hostname主机名 port端口号:区分一个服务器上的多个网站
pathname 相对路径
hash 哈希 锚点 #***
search 查询的字符串
http://127.0.0.1:8020/1202/03.html?username=laila&password=123456&xueli=gaozhong
协议 端口号 相对路径 锚点 查询的字符串
// 需求:快速获取url后的参数
function parseSearch(){
var search = location.search;
console.log(search);
var obj = {};
if(search !=""){
var splits = search.slice(1).split("&");//["username=laila","password=123456"]
console.log(splits);
for(var i = 0 ;i<splits.length;i++){
var arr = splits[i].split("=");//["username","laila"][]
obj[arr[0]] = arr[1];
}
}
console.log(obj)
}
parseSearch();
Plugin:插件
function fun(pname){
// var plugin = navigator.plugins;
// for(var i =0;i<plugin.length;i++){
// if(plugin[i].name == pname ){
// return true;
// }
// }
// return false
return navigator.plugins[pname] !== undefined;
}
document.write(fun("腾讯视频"));
document.write(fun("Chrome PDF Viewer"));
事件坐标:
console.log("相对于屏幕的"+e.screenX,e.screenY)
console.log("相对于文档显示区" + e.clientX,e.clientY)
console.log("相对于当前元素的" + e.offsetX,e.offsetY)
、