第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么到頁(yè)面B,瀏覽器后退,之前設(shè)置過(guò)的東西都沒(méi)了?

為什么到頁(yè)面B,瀏覽器后退,之前設(shè)置過(guò)的東西都沒(méi)了?

DIEA 2023-04-13 19:15:58
頁(yè)面1,進(jìn)行操作(ajax請(qǐng)求服務(wù)器后設(shè)置內(nèi)容到頁(yè)面中,刷新頁(yè)面后js設(shè)置的東西還在,刷新服務(wù)器會(huì)判斷cookie而且直接輸出在頁(yè)面上),到頁(yè)面B,瀏覽器后退,之前設(shè)置過(guò)的東西都沒(méi)了。= = 而且HTTPCODE是200(from cache)。chrome、ff、ie均如此。點(diǎn)菜(ajax):
查看完整描述

1 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

由于題主沒(méi)有明確表示要實(shí)現(xiàn)什么效果,我只好按我個(gè)人理解為本題需要實(shí)現(xiàn)“在到頁(yè)面B后,按后退按鈕,被Ajax加載內(nèi)容修改過(guò)DOM的頁(yè)面A能夠維持最后的狀態(tài)”。

對(duì)于這個(gè)問(wèn)題,我也沒(méi)有經(jīng)驗(yàn),于是在研究了一大會(huì),搞明白點(diǎn)了,以下就現(xiàn)學(xué)現(xiàn)賣了。

想要實(shí)現(xiàn)預(yù)期中的效果,需要明白瀏覽器的實(shí)現(xiàn),就是在內(nèi)存中保存頁(yè)面的最后狀態(tài),在從跳轉(zhuǎn)后的頁(yè)面返回時(shí),直接展現(xiàn)保存了狀態(tài)的頁(yè)面。這個(gè)技術(shù)在 Firefox 里叫 Back-Forward Cache,而在 sarafi 里叫 page cache,然后很遺憾,chrome 里并未實(shí)現(xiàn)。

測(cè)試方法,請(qǐng)依次操作觀察效果:

  1. 載入頁(yè)面后點(diǎn)擊“Modify the DOM”,頁(yè)面DOM發(fā)生了變化

  2. 點(diǎn)擊“Go to another page”,跳轉(zhuǎn)到下一個(gè)頁(yè)面

  3. 點(diǎn)擊瀏覽器的“后退”按鈕

在IE8、FF 15.0.1 和 Chrome 22.0.1229.79 m 測(cè)試后得知:

  • IE8、Chrome 均無(wú)法保存A和B的最后狀態(tài)(肯定了,不支持 page cache)

  • Firefox 都保存了A和B的最后狀態(tài)

關(guān)于 Firefox 的 Back-Forward Cache 在什么情況下會(huì)失效,我搬點(diǎn)內(nèi)容過(guò)來(lái):

  • 頁(yè)面注冊(cè)了 unload 和 beforeunload 事件;

  • 頁(yè)面設(shè)置了 "cache-control: no-store"

  • 站點(diǎn)是 HTTPS,并且頁(yè)面至少符合以下條件:

"Cache-Control: no-cache"
"Pragma: no-cache"
設(shè)置了 "Expires: 0",或者 "Expires" 的日期比 "Date" 指定的早 (有個(gè)例外是,如果指定了"Cache-Control: max-age=",cache 依然有效);

  • 用戶訪問(wèn)其他頁(yè)面時(shí)候,當(dāng)前頁(yè)因?yàn)榫W(wǎng)絡(luò)原因未完全加載完,比如用到了XMLHttpRequest

  • ……

所以,推薦題主按FF提供的內(nèi)容,讓它的BF Cache失效,然后用戶在后退到頁(yè)面A的時(shí)候依然會(huì)觸發(fā)onload事件,你讀取cookie加載內(nèi)容就好了。

PS:既然你要保存頁(yè)面狀態(tài),為什么還要用與之相矛盾的“no-store”?


查看完整回答
反對(duì) 回復(fù) 2023-04-17
  • 1 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)