鍍金池/ 問答/數(shù)據(jù)庫  HTML/ form表單post提交后,后端進行跳轉(zhuǎn)到新頁面,如何覆蓋掉之前的頁面

form表單post提交后,后端進行跳轉(zhuǎn)到新頁面,如何覆蓋掉之前的頁面

A頁面進行form表單提交,后端跳轉(zhuǎn)到B頁面,如何不讓瀏覽器在B頁面點擊回退就退到A頁面,而是退到A頁面之前的頁面。類似A頁面replace跳轉(zhuǎn)到B頁面的效果。
ps:并不是直接阻止頁面回退事件?;赝诉€是可以使用的

回答
編輯回答
淚染裳

可以判斷登錄有沒有成功,如果登錄成功記錄一個狀態(tài)值,用localstorage來存儲,默認是false,登錄成功為true,返回的時候判斷這個值是否為false,如果是true狀態(tài)返回就直接跳轉(zhuǎn)到A

2017年7月16日 17:29
編輯回答
蝶戀花

在form提交前,在A頁面設置一個sessionStorage,比如sessionStorage.flag = 1,或者提交成功后跳轉(zhuǎn)到B頁面設置也可以
然后在A頁面最開始的地方寫一段js,比如

<script>
    if(sessionStorage.flag == 1) {
        sessionStorage.removeItem("flag");
        history.go(-1);
    }
</script>
2017年1月7日 07:58
編輯回答
默念

實際上

window.history.go(-2);

就可以了
如果有復雜的判斷,那可以試試樓上的辦法,當然這樣還是會有一個白屏等著加載的時間


如果到B頁面的入口不止一個,可以把歷史地址放到cookie里(瀏覽器因為同源策略是不給你看歷史url的),到用的時候取就是了

2017年3月13日 22:55
編輯回答
不討喜

用js判斷一下 如果點擊回退就返回false

2018年5月30日 15:39
編輯回答
臭榴蓮
<script language="javascript">
    //防止頁面后退
    history.pushState(null, null, document.URL);
    window.addEventListener('popstate', function () {
        history.pushState(null, null, document.URL);
    });
</script>

百度是個好東西啊,https://blog.csdn.net/zc47423...
那你就在A頁面的js里判斷用戶是否登錄成功,我想你應該是要這個效果吧,登錄了就不回表單頁面了,而沒登錄還是要跳的。window.onload之后判斷,然后成功的話手動js跳轉(zhuǎn)到你想去的頁面,location.href="aaa.html"

2017年6月17日 08:01