vue瀏覽器返回監(jiān)聽(tīng)的具體步驟
前言
分享頁(yè)面時(shí),希望點(diǎn)擊瀏覽器回退按鈕,回到項(xiàng)目首頁(yè),增加訪問(wèn)量。
需要監(jiān)聽(tīng)瀏覽器的回退按鈕,并阻止其默認(rèn)事件。
具體步驟如下:
1、掛載完成后,判斷瀏覽器是否支持popstate
mounted(){ if (window.history && window.history.pushState) { history.pushState(null, null, document.URL); window.addEventListener('popstate', this.goBack, false); } },
2、頁(yè)面銷(xiāo)毀時(shí),取消監(jiān)聽(tīng)。否則其他vue路由頁(yè)面也會(huì)被監(jiān)聽(tīng)
destroyed(){ window.removeEventListener('popstate', this.goBack, false); },
3、將監(jiān)聽(tīng)操作寫(xiě)在methods里面,removeEventListener取消監(jiān)聽(tīng)內(nèi)容必須跟開(kāi)啟監(jiān)聽(tīng)保持一致,所以函數(shù)拿到methods里面寫(xiě)
methods:{ goBack(){ this.$router.replace({path: '/'}); //replace替換原路由,作用是避免回退死循環(huán) } }
附:popstate用來(lái)做什么的?
popstate的怎么用?
HTML5的新API擴(kuò)展了window.history,使歷史記錄點(diǎn)更加開(kāi)放了??梢源鎯?chǔ)當(dāng)前歷史記錄點(diǎn)pushState、替換當(dāng)前歷史記錄點(diǎn)replaceState、監(jiān)聽(tīng)歷史記錄點(diǎn)popstate。
pushState、replaceState兩者用法差不多。
使用方法:
history.pushState(data,title,url); //其中第一個(gè)參數(shù)data是給state的值;第二個(gè)參數(shù)title為頁(yè)面的標(biāo)題,但當(dāng)前所有瀏覽器都忽略這個(gè)參數(shù),傳個(gè)空字符串就好;第三個(gè)參數(shù)url是你想要去的鏈接;
replaceState用法類(lèi)似,例如:history.replaceState("首頁(yè)","",location.href+ "#news");
總結(jié)
到此這篇關(guān)于vue瀏覽器返回監(jiān)聽(tīng)的文章就介紹到這了,更多相關(guān)vue瀏覽器返回監(jiān)聽(tīng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue項(xiàng)目使用js監(jiān)聽(tīng)瀏覽器關(guān)閉、刷新及后退事件的方法
- vue監(jiān)聽(tīng)瀏覽器網(wǎng)頁(yè)關(guān)閉和網(wǎng)頁(yè)刷新事件代碼示例
- vue3動(dòng)態(tài)監(jiān)聽(tīng)瀏覽器窗口變化實(shí)例
- vue如何監(jiān)聽(tīng)瀏覽器主動(dòng)刷新
- vue監(jiān)聽(tīng)瀏覽器原生返回按鈕,進(jìn)行路由轉(zhuǎn)跳操作
- 解決vue單頁(yè)面多個(gè)組件嵌套監(jiān)聽(tīng)瀏覽器窗口變化問(wèn)題
- vue監(jiān)聽(tīng)瀏覽器的后退和刷新事件,阻止默認(rèn)的事件方式
相關(guān)文章
從0到1搭建element后臺(tái)框架優(yōu)化篇(打包優(yōu)化)
這篇文章主要介紹了從0到1搭建element后臺(tái)框架優(yōu)化篇(打包優(yōu)化),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05Vite+Vue3使用MockJS的實(shí)現(xiàn)示例
寫(xiě)一些純前端的項(xiàng)目時(shí),自己造數(shù)據(jù)有些麻煩,于是我們可以利用mock造一些簡(jiǎn)單的數(shù)據(jù),來(lái)滿(mǎn)足我們的需求,本文主要介紹了Vite+Vue3使用MockJS的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-01-01Antd-vue Table組件添加Click事件,實(shí)現(xiàn)點(diǎn)擊某行數(shù)據(jù)教程
這篇文章主要介紹了Antd-vue Table組件添加Click事件,實(shí)現(xiàn)點(diǎn)擊某行數(shù)據(jù)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11Vue element商品列表的增刪改功能實(shí)現(xiàn)
這篇文章主要介紹了Vue+element 商品列表、新增、編輯、刪除業(yè)務(wù)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08vue實(shí)現(xiàn)頂部左右滑動(dòng)導(dǎo)航
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)頂部左右滑動(dòng)導(dǎo)航,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06使用Vue3和Plotly.js繪制動(dòng)態(tài)3D圖表的示例代碼
在數(shù)據(jù)可視化應(yīng)用中,需要將數(shù)據(jù)動(dòng)態(tài)加載到圖表中并進(jìn)行實(shí)時(shí)更新,本文將展示如何使用Plotly.js和Vue.js實(shí)現(xiàn)這一功能,從加載外部數(shù)據(jù)到創(chuàng)建交互式圖表,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-06-06