1、路由变换
(1)应用 hash
获取 url 中的 hash:http://www.bbbb.com#hashstr
`window.location.hash //#hashstr`
* 1
扭转 hash:
`window.location.hash = "#hahah";
// 变成 http://www.bbbb.com#hahah`
* 1
* 2
最重要的是 hashchange 事件,通过这个事件来写页面跳转等的业务逻辑,每当 url 的 hash 扭转都会触发这个事件
window.addEventListener("hashchange", function() {
// 获取 hash 值
var hash = window.location.hash;
// 依据获取的 hash 做相应的操作
. . .
});
(2)HTML5 history api
history.pushState(stateObject, title, url)
history.replaceState(stateObject, title, url)
window.onpopstate 事件