BOM
hash & history route
参考文档:
- Window.location.hash
windows.history属性是一个只读属性,history对象提供了操作浏览器会话历史,有back,forward,go等方法,在h5中新增加了pushstate和replacestate方法,能够修改历史记录hash模式路由
hash模式的路由在url中带有#号,通过window.location.hash可以访问当前页面的hash值。当页面的hash值改变时,页面不会刷新(也就不会发出http请求),只是根据#后面的hash跳到当前页面的hash链接的某个锚点处。hash值的改变会触发函数hashchange,可以通过监听这个函数来获取hash值的变化,hash变化会改变window.history的length值(hash必须和之前不同才会改变),增加历史记录。hash路由的实现1
window.addEventListener('hasnchange', func)
1 | ``` |
这5个方法都只改变url,而不发送请求刷新页面,如果这个修改的url是不存在的,当刷新页面将报错。
document
当有内容溢出时,即有滚动条时,scrollWidth === clientWidth + padding
scrollWidth包括溢出的内容
offsetHeight元素在垂直方向占据的空间大小,offsetHeight = 内容大小+上下padding+上下borderoffsetWidth 同理offsetTop 元素的外边框距离父元素上内边框的距离offsetLeft 同理
使用window.open打开的新标签页上,访问window.opener能够访问到来源页面,使用target为blank的a标签原来也能够从新标签访问到原页面,后面不能了,在a标签上使用rel="noopener"能将window.open设置为null,
window.performance API
timing
1 | timing: { |