JS入门(DAY 06) PS:纯个人笔记, 批评欢迎, 喷子勿扰
认识BOM(Browser Object Model)
浏览器提供给 js 的一系列操作 浏览器相关内容 的属性和方法
- 浏览器相关内容
- 浏览器的地址栏
- 浏览器的滚动条
- 浏览器的窗口
- 浏览器的弹出层
- ...
浏览器的弹出层
- alert:
window.alert('hello world')
- confirm:
window.confirm('hello world')
- prompt:
window.prompt('hello world')
浏览器的可视窗口尺寸(包括滚动条在内)
- 宽度:
window.innerWidth
- 高度:
window.innerHeight
浏览器常见事件
依赖浏览器行为触发的事件
- load:
window.onload = fn
- resize:
window.onresize = fn
- scroll:
window.onscroll = fn
浏览器卷去尺寸
- 高度
document.documentElement.scrollTop
// 当前 html 文件有 DOCTYPE 标签时可用document.body.scrollTop
// 当前 html 文件没有 DOCTYPE 标签时可用
- 宽度
document.documentElement.scrollLeft
// 当前 html 文件有 DOCTYPE 标签时可用document.body.scrollLeft
// 当前 html 文件没有 DOCTYPE 标签时可用
浏览器滚动到
设置滚动条位置的
window.scrollTo(参数)
- 传递数字:
window.scrollTo(x,y)
- 传递对象:
window.scrollTo({left: x, top: y, behavior: "smooth"})
浏览器地址栏
认识地址
举例: http:// www.baidu.com:80/a/b/c/index.html?current=1&pagesize=12#abc
片段 | 含义 |
---|---|
http | 网络传输协议 |
www.baidu.com | 域名(匹配一个 ip 地址) |
:80 | 端口号(0 ~ 65535) |
/a/b/c/index.html | 查看哪一个文件 |
?current=1&pagesize=12 | 查询字符串 |
#abc | hash网页定位 |
- 在 window 下有一个成员 location
- 记录所有和地址相关的内容
window.location.href
// 得到的就是当前浏览器的完整地址window.location.reload()
// 重新加载当前页面(刷新)
浏览器的标签页
- 新开标签页:
window.open('href')
- 关闭当前标签页:
window.close()
浏览器的历史记录
window 内有一个成员 history, 记录和浏览器历史记录相关的属性和方法
window.history.back()
// 回退到上个页面window.history.forward()
// 前进到下个页面window.history.go(参数)
// 跳转页面
浏览器本地存储
storage
按照域名进行存储的, 谁存储谁使用
- localStorage
- 设置:
window.localStorage.setItem(key, value)
- 获取:
window.localStorage.getItem(key)
- 删除:
window.localStorage.removeItem(key)
- 清除:
window.localStorage.clear()
- sessionStorage
- 设置:
window.sessionStorage.setItem(key, value)
- 获取:
window.sessionStorage.getItem(key)
- 删除:
window.sessionStorage.removeItem(key)
- 清除:
window.sessionStorage.clear()
cookie
- 设置:
document.cookie = 'key=value
- 设置(带有过期时间):
document.cookie = 'key=value;expires=Date()
- 获取:
document.cookie
- 删除: 把过期时间设置到当前时间以前
cookie 和 storage 区别
- 存储大小
- cookie 4KB
- storage 20MB
- 存储格式
- cookie
key=value; key2=value2
- storage 字符串格式
- 跨页面通讯
- cookie 只要在一个域名下, 跨页面通讯
- storage localStorage同上 和 sessionStorage只有本页面跳转的才能通讯
- 自动携带
- cookie 只要有请求都会自动携带
- storage 需要手动添加在当前请求中, 才会携带
- 时效性
- cookie 默认会话级别, 可以手动设置过去时间
- storage 只能 永久 或者 会话
转载自:https://juejin.cn/post/7151688782096367623