vue瀏覽器返回監(jiān)聽的具體步驟
前言
分享頁面時,希望點擊瀏覽器回退按鈕,回到項目首頁,增加訪問量。
需要監(jiān)聽瀏覽器的回退按鈕,并阻止其默認事件。
具體步驟如下:
1、掛載完成后,判斷瀏覽器是否支持popstate
mounted(){ if (window.history && window.history.pushState) { history.pushState(null, null, document.URL); window.addEventListener('popstate', this.goBack, false); } },
2、頁面銷毀時,取消監(jiān)聽。否則其他vue路由頁面也會被監(jiān)聽
destroyed(){ window.removeEventListener('popstate', this.goBack, false); },
3、將監(jiān)聽操作寫在methods里面,removeEventListener取消監(jiān)聽內(nèi)容必須跟開啟監(jiān)聽保持一致,所以函數(shù)拿到methods里面寫
methods:{ goBack(){ this.$router.replace({path: '/'}); //replace替換原路由,作用是避免回退死循環(huán) } }
附:popstate用來做什么的?
popstate的怎么用?
HTML5的新API擴展了window.history,使歷史記錄點更加開放了??梢源鎯Ξ?dāng)前歷史記錄點pushState、替換當(dāng)前歷史記錄點replaceState、監(jiān)聽歷史記錄點popstate。
pushState、replaceState兩者用法差不多。
使用方法:
history.pushState(data,title,url); //其中第一個參數(shù)data是給state的值;第二個參數(shù)title為頁面的標題,但當(dāng)前所有瀏覽器都忽略這個參數(shù),傳個空字符串就好;第三個參數(shù)url是你想要去的鏈接;
replaceState用法類似,例如:history.replaceState("首頁","",location.href+ "#news");
總結(jié)
到此這篇關(guān)于vue瀏覽器返回監(jiān)聽的文章就介紹到這了,更多相關(guān)vue瀏覽器返回監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從0到1搭建element后臺框架優(yōu)化篇(打包優(yōu)化)
這篇文章主要介紹了從0到1搭建element后臺框架優(yōu)化篇(打包優(yōu)化),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05Antd-vue Table組件添加Click事件,實現(xiàn)點擊某行數(shù)據(jù)教程
這篇文章主要介紹了Antd-vue Table組件添加Click事件,實現(xiàn)點擊某行數(shù)據(jù)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11使用Vue3和Plotly.js繪制動態(tài)3D圖表的示例代碼
在數(shù)據(jù)可視化應(yīng)用中,需要將數(shù)據(jù)動態(tài)加載到圖表中并進行實時更新,本文將展示如何使用Plotly.js和Vue.js實現(xiàn)這一功能,從加載外部數(shù)據(jù)到創(chuàng)建交互式圖表,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-06-06