BOM
Browser Object Model 浏览器对象模型,其作用是使得JavaScript有能力与浏览器对话。
首先BOM,并没有正式的标准,但是现在的浏览器几乎都实现了JavaScript与浏览器对话的方法和属性,因此这些方法都被认为是BOM的属性和方法;
JavaScript Window 对象
几乎所有的浏览器都支持window对象,window对象表示浏览器的窗口,相当于浏览器最顶层的对象,拥有最大的作用域,全局函数,全局对象都可以看作window的属性,window的成员对象。
document也是window的属性之一
window.document.getElementById();
window的尺寸属性
innerHeight 内部高度
innerWidth 内部宽度
outerHeight 外部高度
outerWidth 外部宽度
但是尺寸属性是有兼容问的,在ie8以及以下要获取window的尺寸相关属性需要使用
document.documentElement.clientHeight//获取高度
document.documentElement.clientWidth//获取宽度
或者
document.body.clientHeight//获取高度
document.body. clientWidth//获取宽度
涵盖所有浏览器的写法(利用了短路运算符)
var w=window.innerWidth|| document.documentElement.clientWidth|| document.body.clientWidth; //获取宽度
var h=window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight;//获取高度
window的其他方法
alert() //弹框,只有一个确认按钮的弹框
prompt()//弹框,请求输入的弹框
confirm()//弹框,具有确认按钮和取消按钮的弹框
setIntervel()//定时器,按照指定周期 ,来调用需要执行的函数体
clearInterval()//清除setInterval定时器;
setTimeout()//定时器,只执行一次,调用需要执行的函数体
clearTimeout()//清除clearTimeout 定时器;
Window的属性
document //对Document属性进行只读调用
history // 对History对象进行只读调用
location //对Location对象进行只读调用
navigation // 对Navigation对象进行只读调用
Navigator 对象
Navigator 对象包含有关浏览器的信息。
Navigator 对象属性
appName//返回浏览器的名称
appVersion//返回浏览器的平台和版本信息;
cookiesEnabled// 返回指明浏览器中是否启用 cookie 的布尔值
platform//返回运行浏览器的操作系统平台
userAgent //返回由客户机发送服务器的user-agent 头部的值
Screen 对象
Screen 对象包含有关客户端显示屏幕的信息。
avaiHeight//返回屏幕的高度(不包括windows任务栏)
avaiWidth //返回屏幕的高度(不包括windows任务栏)
height // 返回屏幕的总高度
pixelDepth // 返回屏幕的颜色分辨率(每象素的位数)
width // 返回屏幕的总宽度
History 对象
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
History对象的属性
length//返回历史列表中的网址数
History对象方法
back() //加载history列表中的前一个URL
forward() // 加载history列表中的下一个URL
go() // 加载history列表中的某个具体页面
Location 对象
Location 对象包含有关当前 URL 的信息。
Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。
location对象属性
hash 返回一个URL的锚部分
host 返回一个URL的主机名和端口
hostname 返回URL的主机名
href 返回完整的URL
pathname 返回URL路径名
port 返回一个URL服务器使用的端口号
protocol 返回一个URL协议
search 返回一个查询部分
location对象方法
reload()//重新加载