前置:單頁應(yīng)用最顯著特點(diǎn)之一就是采用的前端路由系統(tǒng),通過改變URL炭玫,在不重新請求頁面的情況下,更新頁面視圖捌朴。
更新視圖但不重新請求頁面溪烤,是前端路由原理的核心之一稀火,目前在瀏覽器環(huán)境中這一功能的實(shí)現(xiàn)主要有2種方式:
? 1坏晦、利用URL中的hash("#");
? 2雌澄、利用History interface在HTML5中新增的方法;
一、hashHistory
通過(1)HashHistory.push()
? ? ? ?(2)HashHistory.replace()
? ? ? ?(3)監(jiān)聽地址欄
用戶還可以直接在瀏覽器地址欄中輸入改變路由每篷,因此還需要監(jiān)聽瀏覽器地址欄中路由的變化 瓣戚,并具有與通過代碼調(diào)用相同的響應(yīng)行為,在HashHistory中這一功能通過setupListeners監(jiān)hashchange
二雳攘、HTML5History
從HTML5開始,History interface提供了2個(gè)新的方法:
? ? ? ? (1)pushState()
? ? ? ? (2)replaceState()
使得我們可以對瀏覽器歷史記錄棧進(jìn)行修改
--------------------------------------------------------------------------------------------------------------------------------------
詳見:https://segmentfault.com/a/1190000014822765
? ? ? ? ? ?http://www.reibang.com/p/f8699194ce26