vue監(jiān)聽瀏覽器返回

需求

我在某個(gè)頁(yè)面用了緩存呀页,假如點(diǎn)擊了瀏覽器返回按鈕,需要清除緩存信息

代碼

監(jiān)聽返回

mounted () {
    if (window.history && window.history.pushState) {
        // 向歷史記錄中插入了當(dāng)前頁(yè)
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', this.goBack, false);
    }
},
destroyed () {
    window.removeEventListener('popstate', this.goBack, false);
},
methods: {
    goBack () {
        // console.log("點(diǎn)擊了瀏覽器的返回按鈕");
        sessionStorage.clear();
        window.history.back();
    },
} 

因?yàn)檫@個(gè)頁(yè)面有跳轉(zhuǎn)其他頁(yè)面的路由脑又,所以在組件的路由鉤子里也清了緩存

beforeRouteLeave (to, from , next) {
    sessionStorage.clear();
    next()
},

禁用返回

mounted () {
    if (window.history && window.history.pushState) {
        // 向歷史記錄中插入了當(dāng)前頁(yè)
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', this.goBack, false);
    }
},
destroyed () {
    window.removeEventListener('popstate', this.goBack, false);
},
methods: {
    goBack () {
        // console.log("點(diǎn)擊了瀏覽器的返回按鈕");
        history.pushState(null, null, document.URL);
    },
} 

history對(duì)象

window可以省略弄屡,直接使用history
1好唯、window.history.back() : 后退
2、window.history.forward() : 前進(jìn)
3筒主、window.history.go(num) : 前進(jìn)或后退指定數(shù)量歷史記錄

window.history.go(1)
前進(jìn)
window.history.go(-1)
后退
window.history.go(0)
刷新

4关噪、window.history.pushState(state, title, url)
存儲(chǔ)當(dāng)前歷史記錄點(diǎn)

state:一個(gè)對(duì)象,可以添加相關(guān)信息
title:歷史記錄的標(biāo)題
url:創(chuàng)建的歷史記錄的鏈接

5乌妙、window.history.replaceState(state, title, url)
替換當(dāng)前歷史記錄點(diǎn)

6使兔、popstate
history 實(shí)體改變時(shí)觸發(fā)的事件,監(jiān)聽歷史記錄點(diǎn)

7冠胯、window.history.state
獲取 history 實(shí)體中的 state 對(duì)象

history.go(0) 和 location.reload() 的區(qū)別

一火诸、location.reload()
默認(rèn)參數(shù)為false,即location.reload(false)

1荠察、location.reload(false):
會(huì)用 HTTPIf-Modified-Since 來(lái)檢測(cè)服務(wù)器上的文檔是否已改變
如果文檔已改變置蜀,從服務(wù)端再次下載該文檔
如果文檔未改變奈搜,從緩存中裝載文檔
作用等同于點(diǎn)擊瀏覽器的刷新按鈕 (F5)

2、location.reload(true):
繞過(guò)緩存盯荤,從服務(wù)器上重新下載該文檔
作用等同于點(diǎn)擊瀏覽器的刷新按鈕馋吗,同時(shí)按住Shift (Shift+F5)

二、history.go(0)
直接讀取緩存數(shù)據(jù)秋秤,不會(huì)從服務(wù)器端獲取數(shù)據(jù)

history.go(-1) 和 history.back() 的區(qū)別

一宏粤、history.go(-1)
后退并刷新,原頁(yè)面表單中的內(nèi)容會(huì)丟失
二灼卢、history.back()
后退绍哎,原頁(yè)面表單中的內(nèi)容會(huì)保留

網(wǎng)站導(dǎo)航

網(wǎng)站導(dǎo)航

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鞋真,隨后出現(xiàn)的幾起案子崇堰,更是在濱河造成了極大的恐慌,老刑警劉巖涩咖,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件海诲,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡檩互,警方通過(guò)查閱死者的電腦和手機(jī)特幔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)闸昨,“玉大人蚯斯,你說(shuō)我怎么就攤上這事×阍海” “怎么了溉跃?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)告抄。 經(jīng)常有香客問(wèn)我撰茎,道長(zhǎng),這世上最難降的妖魔是什么打洼? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任龄糊,我火速辦了婚禮,結(jié)果婚禮上募疮,老公的妹妹穿的比我還像新娘炫惩。我一直安慰自己,他們只是感情好阿浓,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布他嚷。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪筋蓖。 梳的紋絲不亂的頭發(fā)上卸耘,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音粘咖,去河邊找鬼蚣抗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瓮下,可吹牛的內(nèi)容都是我干的翰铡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼讽坏,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锭魔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起路呜,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤赂毯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后拣宰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烦感,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年巡社,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片手趣。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晌该,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绿渣,到底是詐尸還是另有隱情朝群,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布中符,位于F島的核電站姜胖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏淀散。R本人自食惡果不足惜右莱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望档插。 院中可真熱鬧慢蜓,春花似錦、人聲如沸郭膛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至耘柱,卻和暖如春如捅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背帆谍。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工伪朽, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人汛蝙。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓烈涮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親窖剑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坚洽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349