hash
hash 简介
hash就是URL中"#"字符后面的部分
- 使用浏览器访问网页时,如果网页URL中带有hash,页面就会定位到id(或name)与hash值一样的元素的位置
- hash还有另一个特点,它的改变不会导致页面重新加载
- 对于hash值,浏览器是不会随请求发送到服务器端的
- 通过
window.location.hash
属性获取和设置hash值
window.location.hash值的变化会直接反应到浏览器地址栏(#后面的部分会发生变化),同时,浏览器地址栏hash值的变化也会触发window.location.hash
值的变化,从而触发onhashchange事件
hashchange事件
- 当URL的片段标识符更改时,将触发hashchange事件(跟在#符号后面的URL部分,包括#符号)
- hashchange事件触发时,事件对象会有hash改变前的URL(oldURL)和hash改变后的URL(newURL)两个属性
例如:window.addEventListener('hashchange',function(e) { console.log(e.oldURL); console.log(e.newURL) },false)
可以打印出来这两个属性