vue如何清除瀏覽器歷史棧
如何清除瀏覽器歷史棧
問題
需要跳轉(zhuǎn)好幾個頁面進行表單提交,提交完之后,跳轉(zhuǎn)回首頁,返回上一頁,發(fā)現(xiàn)還可以返回上一級頁面路由
//可以拿到歷史記錄棧,清空棧 let routeHistory=history.length-1; this.$router.go(-routeHistory);
vue返回首頁后如何清空路由
需求一:從首頁點擊路由到A頁面
- A頁面點擊路由到B頁面
- B頁面點擊路由到C頁面
- C頁面點擊路由鏈接到D頁面
- D頁面有個返回首頁按鈕
那么問題來了
點擊返回首頁后,再點擊手機的返回鍵 會打開D頁面 再按手機返回鍵 會打開C頁面,依次類推,
如何才能實現(xiàn)點擊返回首頁后,清空路由呢
mounted () {
? ? if (window.history && window.history.pushState) {
? ? ? ? // 向歷史記錄中插入了當(dāng)前頁
? ? ? ? history.pushState(null, null, document.URL);
? ? ? ? window.addEventListener('popstate', this.goBack, false);
? ? }
},
destroyed () {
? ? window.removeEventListener('popstate', this.goBack, false);
},
methods: {
? ? goBack () {
? ? ? ? // console.log("點擊了瀏覽器的返回按鈕");
? ? ? ? sessionStorage.clear();
? ? ? ? window.history.back();
? ? },
}?禁止有返回記錄
mounted () {
? ? if (window.history && window.history.pushState) {
? ? ? ? // 向歷史記錄中插入了當(dāng)前頁
? ? ? ? history.pushState(null, null, document.URL);
? ? ? ? window.addEventListener('popstate', this.goBack, false);
? ? }
},
destroyed () {
? ? window.removeEventListener('popstate', this.goBack, false);
},
methods: {
? ? goBack () {
? ? ? ? // console.log("點擊了瀏覽器的返回按鈕");
? ? ? ? history.pushState(null, null, document.URL);
? ? },
}?需求二:把瀏覽器的記錄返回指定的頁面
mounted 中:
?if (window.history && window.history.pushState) {
? ? ? history.pushState(null, null, document.URL);
? ? ? window.addEventListener("popstate", _this.onClickLeft, false); ?//_this.onClickLeft是返回的點擊事件
? ? }?methods: {
? ? onClickLeft() {
? ? // ? this.$route.query.radio支付頁面到指定頁面?zhèn)鞯膮?shù) 來判斷他的路由
? ? ? if (this.$route.query.radio == 1 || this.$route.query.radio == 2) {
? ? ? ? this.$router.push({ //返回指定頁面
? ? ? ? });
? ? ? } else {
? ? ? ? this.$router.go(-1); ?// 正常返回
? ? ? }
? ? },
// 將事件清除掉
?destroyed() {
? ? window.removeEventListener("popstate", this.onClickLeft, false);
? }以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue路由對象屬性 .meta $route.matched詳解
今天小編就為大家分享一篇Vue路由對象屬性 .meta $route.matched詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue 詳情跳轉(zhuǎn)至列表頁實現(xiàn)列表頁緩存
這篇文章主要介紹了vue 詳情跳轉(zhuǎn)至列表頁實現(xiàn)列表頁緩存,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
vue?parseHTML?函數(shù)源碼解析AST基本形成
這篇文章主要為大家介紹了vue?parseHTML?函數(shù)源碼解析AST基本形成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07
Vuex中g(shù)etters和actions的使用補充說明
這篇文章主要介紹了在Vuex中關(guān)于getters和actions使用的補充作了簡要說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-09-09
Vue標(biāo)簽屬性動態(tài)傳參并拼接字符串的操作方法
這篇文章主要介紹了Vue標(biāo)簽屬性動態(tài)傳參并拼接字符串的操作方法,我們需要根據(jù)傳入值的類型,在placeholder屬性賦值"請輸入長度",“請輸入寬度”,"請輸入厚度"等提示字符,本文通過實例代碼介紹的非常詳細,需要的朋友參考下吧2023-11-11
vue2.0實戰(zhàn)之使用vue-cli搭建項目(2)
這篇文章主要為大家詳細介紹了vue2.0實戰(zhàn)第二篇使用vue-cli搭建項目,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03

