需求
今天提出了一個(gè)需求,就是在使用第三方支付的時(shí)候,如果用戶在支付頁(yè)面直接點(diǎn)擊瀏覽器的返回頁(yè)面,會(huì)直接返回到下單的頁(yè)面,但此時(shí)訂單已經(jīng)下過(guò)了,再次返回到下訂單的頁(yè)面,展示之前的內(nèi)容顯然是不合理的,現(xiàn)在的需求就是,用戶在第三方支付的時(shí)候,點(diǎn)擊瀏覽器的返回按鈕時(shí),返回到當(dāng)前下的訂單的訂單詳情頁(yè)面。
尋找解決方法
你可能會(huì)說(shuō),單擊返回的時(shí)候跳轉(zhuǎn)到訂單詳情頁(yè)面不就行了么!那么不好意思,你怎么知道或者說(shuō)這么做是沒(méi)辦法跳轉(zhuǎn)過(guò)去的,因?yàn)閺闹Ц俄?yè)面返回沒(méi)有傳回來(lái)任何的參數(shù),程序根本就什么都不知道,由于是公司的項(xiàng)目,這里就不貼圖了(程序員操守)。
經(jīng)過(guò)思考,研究,想到如果在頁(yè)面跳轉(zhuǎn)到支付頁(yè)面之前,先往頁(yè)面的歷史記錄里添加一條訂單詳情的歷史記錄是不是可以解決問(wèn)題。
解決問(wèn)題
經(jīng)過(guò)插文檔和mdn發(fā)現(xiàn),如果想要往歷史記錄里加入一條記錄,但是頁(yè)面不發(fā)生變化。需要使用history.replaceState(null,"",``);
最終解決
history.replaceState( null, "", `http://192.168.1.11:8080/tw/xxx/orderdetail/${xxx}` ); window.location = xxx.goUrl;
效果圖暫不展示,如果需要,可直接demo嘛!
如果能夠幫助到你,是小編最大的榮幸
當(dāng)然 有 不好的地方 請(qǐng)大家?guī)兔χ赋?學(xué)習(xí)永無(wú)止境
小編一直認(rèn)為 人外有人 天外有天 一起學(xué)習(xí) 共同進(jìn)步
讓我們共同加油吧!