現(xiàn)在公司有一個(gè)項(xiàng)目,有一個(gè)需求,當(dāng)從外部網(wǎng)址登錄進(jìn)來之后,會(huì)自動(dòng)重定向到home頁,如下:http://localhost:8889/?sessionId=4724-3551655957868--736132069sh#!/app/home,然后需要將之前提前保存的目的網(wǎng)址(如目的網(wǎng)址是 dashboard頁)取出,重定向到目的網(wǎng)址,如window.location.href="http://localhost:8889/app/dashboard"?,F(xiàn)在要求,網(wǎng)址中必須不包含sessionId。重定向到dashboard頁之后,此時(shí)網(wǎng)址是http://localhost:8889/#!/app/dashboard,正常,沒有sessionId;但是當(dāng)用戶點(diǎn)擊瀏覽器回退按鈕時(shí),回退到home頁,此時(shí)網(wǎng)址為http://localhost:8889/?sessionId=4724-3551655957868--736132069sh#!/app/home。為了解決回退到home頁時(shí)網(wǎng)址中,存在session的問題。我目前的思路是當(dāng)用戶從登錄頁重定向到home頁時(shí),利用history對(duì)象的window.history.replaceState({},'','http://localhost:8889/#!/app/home'),改變當(dāng)前路徑的url為http://localhost:8889/#!/app/home,這樣當(dāng)用戶從dashboard頁點(diǎn)擊瀏覽器回退按鈕時(shí),網(wǎng)址中就不再包含session。但是,問題時(shí),我才用上述操作之后,連跳轉(zhuǎn)到dashboard頁,也變?yōu)榱薶ttp://localhost:8889/?sessionId=4724-3551655957868--736132069sh#!/app/dashboard。我很納悶,為什么在修改了 瀏覽器歷史清單 之后,地址欄沒有發(fā)生相應(yīng)的改變。有知道的同學(xué),麻煩指點(diǎn)下,謝謝!
history.replaceState/pushState改變url,但是地址欄沒有改變問題
手掌心
2019-03-28 18:14:16