BOM
Browser Object Model 简称浏览器对象模型,提供了独立于内容于浏览器窗口的交互的对象
window对象是BOM的核心.
bom实际进行操作浏览器是使用多个对象里面的属性以及相关方法
顶层对象,window 所有的其他使用的对象都是通过哦window扩展出来的
window的方法及属性,可以省略window.
常用属性
innerHeight //获取可视区域的高度 innerWidth // 获取可视区域的宽度
window对象的方法
alert() // 弹窗 , 提示窗,没有返回值 confirm() // 弹交互窗, 点击确认返回true,点击取消返回false prompt() // 弹出输入框,返回string类型,第一个参数提示语,第二个参数默认值 console.log() // open() // 打开一个新的窗口,第一个参数是要打开窗口的url,第二个参数打开方式也可以是窗口的名字,默认打开方式是_blank新窗口,指定在本窗口打开_parent,第三个是其他位置,可以指定对应窗口的一个设置 window.open('http://www/baidu.com','百度','width=400,height=200,top=20,left=20'); // 一般指定上和左 close() // 关闭当前的窗口 print() // 将页面进行打印
window对象的属性对象
document() // 文档对象,让我们可以在js脚本中直接访问页面元素(DOM) history() // 历史对象,包含窗口的浏览历史,可以实现后退 locatoin() //包含浏览器当前的地址信息,可以用来刷新本页面或跳转到新页面 frames() // 框架对象,可以获取页面框架内容 screen // 包含有关客户端显示屏蔽的信息 navigator // 导航对象,包含所有有关访问者浏览器的信息
locaton的属性
hash // 返回锚点,有就返回锚点值,没有就返回空 host // 主机地址,访问地址 hostname // 主机名 href // 链接地址 port // 端口号,默认的浏览器占用端口80,地址栏没有显示端口就是没有端口 protocol // 协议名 , https http(默认),file协议 pathname // 路径名,拿到访问地址后的路径地址,主机名或者端口号后面的,资源路径地址 search // 用来接收?传递值,获取?后面的信息 origin // 跨域信息,url的源地址
location的方法
assign() // 跳转页面,传入的参数为需要跳转的页面 reload() // 重新加载,默认会从缓存中加载(速度会更快),参数若为true,就是去服务器加载 replace() // 替换本身的地址来完成跳转,同时删除本身的历史记录 location=url // 实现页面跳转,也可以直接给location赋值,值为要跳转到的页面的url
history
历史对象,保存历史页面
length // 属性,返回历史页面的个数 state // 状态值,没有存默认为null
forward() // 前进 back() // 后退 go() // 去任意的历史页面,默认当前页为0,参数值为负表示后退,为正表示前进,如果没有匹配到的项,则什么也不做,参数也可以是一个字符串,表示要去到的url pushState() // 添加一个数据,可以是任意类型,会存入state中 //添加一个历史记录,第一个参数为数据,第二个参数为标题,第三个参数为url地址(可以省略,(必须要和本身具备相同的orgin值) replaceState() // 替换state值,在对应的url
navigator
导航对象,用来获取浏览器的相关信息
appName // 浏览器名称 appVersion // 浏览器版本 platform // 操作系统 userAgent // 用户代理信息,里面存放了用户的系统版本浏览器及相关的信息
screen
获取用户屏幕信息
console.log(screen.availHeight); // 屏幕高 console.log(screen.availWidth); // 屏幕宽