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

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

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

回答
編輯回答
淚染裳

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

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

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

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

實(shí)際上

window.history.go(-2);

就可以了
如果有復(fù)雜的判斷,那可以試試樓上的辦法,當(dāng)然這樣還是會(huì)有一個(gè)白屏等著加載的時(shí)間


如果到B頁(yè)面的入口不止一個(gè),可以把歷史地址放到cookie里(瀏覽器因?yàn)橥床呗允遣唤o你看歷史url的),到用的時(shí)候取就是了

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

用js判斷一下 如果點(diǎn)擊回退就返回false

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

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

2017年6月17日 08:01