vue单页项目中判断有没有上一页
生活随笔
收集整理的這篇文章主要介紹了
vue单页项目中判断有没有上一页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景:判斷一個頁面有沒有上一頁,沒有就關閉頁面,有的話就返回上一頁
測試了多種方法后,最后用window.sesstionStorage 結合router.afterEach實現了。
我解決的思路:
1)用window.history.length,如果 =1則是關閉頁面,否則是返回上一頁。最后發現history.length只增不減,它只記錄你一共看了多少個頁面;放棄;
2)用document.referrer.它的值為url,當前頁面就是從這個 url 所代表的頁面跳轉或打開的.但是我發現我的項目中document.referrer都為’‘,原來單頁應用的document.referrer都為’'。這條路也走死了。
我發現現有的API不能解決這個問題,不能判斷這是不是打開的第一個頁面,有沒有上一頁這個問題。
關鍵來了
我的解決方法:
用sessionStorage記錄打開的第一個頁面的url,并結合后置全局導航守衛router.afterEach來實現:
具體步驟:
以上是手動點擊是返回,手勢返回也需要用同樣的邏輯,以下是手勢返回的代碼:
window.addEventListener("popstate", function(e) { goBack()}, false);完啦,問題是不是解決啦?
總結
以上是生活随笔為你收集整理的vue单页项目中判断有没有上一页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C51单片机学习笔记之定时器
- 下一篇: vue element table列表删