處理返回鍵劫持(結合vue)

在這裏記錄一下近期解決的一個問題vue

需求,在某個頁面,瀏覽器返回按鈕點擊的時候,不能走瀏覽器的默認返回操做,而是要走本身的邏輯,瀏覽器

好比跳轉頁面等等。url

那麼問題來了,如何去不走默認返回呢。通過網上搜羅和同事交流以後,去研究了一下history的原理及spa

相關關鍵操做:code

咱們在須要操做的頁面進來的時候push一條state,那麼瀏覽器返回的時候就走到了你原頁面,這個時候

去監聽hashchange或者popstate事件而後作出對應的邏輯處理

看看我在vue裏面是怎麼處理的blog

這裏的recharge1和recharge是同一個組件,只是用了不一樣的path作區分而已,在beforeRouteEnter的hook裏面事件

對 from 的路由信息進行判斷,若是balabala就balabala(本身看代碼)。路由

===================================================================================hash

若是拋除vue去看這個問題的話也同理,能夠push一個state,把url的hash改掉,接着去監聽hashchangeio

window.addEventListener("hashchange",function(){},false);

這個時候點返回按鈕就會觸發hashchange事件,而後你就能夠在回調裏面作本身想作的邏輯了。

相關文章
相關標籤/搜索