js-BOM知识点小结
BOM是什么?有什么作用?
BOM(Browser Object Model):浏览器对象模型,是JS的三大组成部分之一,简单理解就是使JS有能力操作和访问客户端(浏览器)。
Window对象
- 一个html文档(一个浏览器标签页)对应一个window对象
- window对象是BOM的顶层对象,其他对象均是window对象的属性(子对象)
- ECMAScript中规定的全局对象,所有全局变量和方法都将被解析成window对象的属性
- window是BOM对象而非js对象
常用方法
-
alert()
-
confirm("") 选择框
-
prompt() 输入内容提示框
- 点击确认返回输入值,点击取消返回null
-
open(url,name,parameters) 打开一个新窗口或查找已命名的窗口
- url(string):子窗口路径
- name(string):子窗口名称,方便引用
- parameters(string):参数逗号隔开
- width、height
- left、top:窗口位置
- toolbar:是否显示工具栏
- menubar:是否显示菜单栏
- scrollbars:是否显示滚动条
- location:是否显示地址
- status:是否添加状态栏
-
close() 关闭浏览器窗口
定时器方法
- 超时调用:setTimeout(code,millisec)
- code:不推荐直接写执行代码,性能不高,而是写函数
- 方法返回ID值,用于取消超时调用
- 间歇调用:setInterval(code,millisec)
- clearInterval(id)
- 可与setTimeOut配合使用达到N秒后清除间歇调用定时器 的作用
- clearInterval(id)
History对象
- 保存用户在浏览器访问页面的历史记录
- 只要url改变就会生成历史记录
- 常用方法
- back() 历史记录的上一步
- 相当于history.go(-1)
- forward() 历史记录的下一步
- 相当于history.go(1)
- go(x) 加载history列表中的某个具体页面
- 加载history列表中的某个具体页面
- back() 历史记录的上一步
Location对象
-
提供当前页面加载文档(html文件)中包含的信息
-
提供导航功能
-
包含有关当前URL的信息,把url解析成独立片段,通过属性可访问
-
既是window对象的属性,也是document对象的属性
-
属性
-
location.href 返回当前加载页面的完整url
- 某些浏览器协议及查询参数等信息隐藏会获取不到
-
location.hash 返回URL的hash(#号后的值),不包含则返回空字符串
- 也可设置值,做页面内锚点链接
location.hash = "#top"; //寻找页面中id为top的元素并跳转到相应位置
- 也可设置值,做页面内锚点链接
-
location.host 返回服务器名称和端口号
-
location.hostname 返回服务器名称
-
location.pathname 返回url中的目录与文件名
-
location.port 返回url中的端口
-
location.protocol 返回页面使用的协议
-
location.search 返回url的查询字符串(?开头的字符串)
-
-
位置操作
- 可返回页面
- location.href = ""
- window.location = ""
- location.assign(URL) 链接到一个新页面
- 不能返回之前的页面
- location.replace(URL) 新页面覆盖当前页面
- open() 新标签页打开页面
- location.reload() 刷新页面
- 不传参数:尝试利用缓存刷新页面
- 参数为true:忽略缓存,强制从服务器重新加载
- reload后的代码可能执行也可能不执行,建议放在最后一行
- 可返回页面
Screen(不常用)
-
包含客户端屏幕信息
-
获取显示器屏幕高宽(不包括任务栏)
- Screen.availWidth
- Screen.availHeight
-
获取窗口文档显示区域宽高
- window.innerHeight
- window.innerWidth
Navigator
- 获取用户操作系统和浏览器信息
- 常用属性
- navigator.userAgent
- 建议封装使用
- 实现对浏览器识别,用于跨浏览器支持
- navigator.userAgent

浙公网安备 33010602011771号