日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)

發(fā)布時間:2023/12/20 vue 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 监听浏览器返回,可清除历史记录(移动端:手势返回)(vue) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題:

我在寫移動端的時候碰見了一個問題,有一個頁面可以點擊下一條,這樣就會無限的跳轉(zhuǎn)路由,此時就需要忘記路由記錄,返回的時候回到跳進當前頁面的頁面。?

解決:

起初,我直接使用的vue的router的replace,但因此又出現(xiàn)了問題,使用this.$router.replace時,路由記錄的確沒了, 但在手機上使用手勢導航返回,會出現(xiàn)無法返回,手勢導航會根據(jù)replace跳轉(zhuǎn)的次數(shù),手勢導航返回就要幾次

因此 ,我監(jiān)聽了瀏覽器返回的事件,對返回事件觸發(fā)時做處理就好了。

// 進入頁面時保存當前頁url mounted() {if (window.history && window.history.pushState) {// 向歷史記錄中插入了當前頁console.log('向歷史記錄中插入了當前頁')history.pushState(null, null, document.URL)window.addEventListener('popstate', this.goBack, false)}},// 監(jiān)聽頁面銷毀destroyed() {console.log('離開當前頁面')window.removeEventListener('popstate', this.goBack, false)},methods: {// 頁面銷毀時走這個方法goBack() {console.log('點擊了瀏覽器的返回按鈕')// 清緩存sessionStorage.clear()window.history.back()history.pushState(null, null, document.URL)},},beforeRouteLeave(to, from, next) {// 如果這個頁面有跳轉(zhuǎn)其他頁面的路由,所以在組件的路由鉤子里也需要清下緩存sessionStorage.clear()next()},

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。