第十二章 BOM
窗口关系
top 对象永远指向最上层窗口,即浏览器窗口本身
parent 始终指向当前窗口的父窗口
self 始终指向 window
窗口位置和像素比
screenLeft 表示当前窗口距离屏幕左侧的距离,返回 CSS 像素
screenTop 表示当前窗口距离屏幕顶部的距离,返回 CSS 像素
moveTo 接收移动到新位置的绝对坐标 x 和 y
moveBy 接收相对于当前位置移动的 x 和 y 的距离
devicePixelRatio 获取物理像素与CSS像素之间的转换比
窗口大小
outerWidth 返回浏览器窗口自身的宽度
outerHeight 返回浏览器窗口自身的高度
innerWidth 返回浏览器页面视口的宽度
innerHeight 返回浏览器页面视口的高度
document.documentElement.clientWidth 返回整个页面视口的宽度
document.documentElement.clientHeight 返回整个页面视口的高度
resizeTo() 接收新的宽度和高度
resizeBy() 接收宽度和高度各要缩放多少
视口位置
scrollX pageXoffset 横向滚动距离
scrollY pageYoffset 纵向滚动距离
相关方法:
scroll() scrollTo() scrollBy()
这三个方法都接收一个 ScrollToOptions 字典
// 正常滚动
window.scrollTo({
left: 100,
top: 100,
behavior: 'auto'
});
// 平滑滚动
window.scrollTo({
left: 100,
top: 100,
behavior: 'smooth'
});
导航与打开新窗口
window.open() 接收四个参数:URL、目标窗口、特性字符串、表示新窗口在浏览器历史记录中是否替代当前加载页面的布尔值
可以将 window.open() 赋值给一个变量,通过变量来操作新窗口
对话框相关
alert() 通知对话框
confirm() 确认对话框
prompt() 提示对话框
window.find() 查找对话框
window.print() 打印对话框
location对象
hash 获取 # 后面的内容
host 获取服务名和端口号
hostname 获取服务器名
href 获取完整的 url
pathname 获取 url 中的路径和文件名
port 获取端口
protocol 获取协议
search 获取查询字符串,以 ? 开头
username 获取域名前指定的用户名
password 获取域名前指定的密码
origin 获取 url 的源地址
URLSearchParams
js 提供的一个操作查询字符串的方法,通过 API set() get() delete() 操作,具体效果并不复杂,参考对象的就差不多了
操作地址
location.assign(url) 立即启动导航到新URL的操作,同时在浏览器历史记录中增加一条记录,location.href 和 window.location 操作同理
除了 hash 之外,只要修改location的一个属性,就会导致页面重新加载新URL
location.reaplace(url) 重新加载后不会增加历史记录,用户不能回到上一页
location.reload() 重新加载当前显示的页面,不传参数,页面会以最有效的方式重新加载
navigator对象
screen对象
history对象
导航
history.go() 这个方法只接收一个参数,这个参数可以是一个整数,表示前进或后退多少步。负值表示在历史记录中后退(类似点击浏览器的“后退”按钮),而正值表示在历史记录中前进(类似点击浏览器的“前进”按钮)。go()方法的参数也可以是一个字符串,这种情况下浏览器会导航到历史中包含该字符串的第一个位置
go()有两个简写方法:back()和forward()。顾名思义,这两个方法模拟了浏览器的后退按钮和前进按钮
history对象还有一个length属性,表示历史记录中有多个条目。










网友评论