
為什么要做?
瀏覽器為了加快速度,默認(rèn)會(huì)把看過(guò)的頁(yè)面存起來(lái)。當(dāng)用戶點(diǎn)“后退”按鈕時(shí),瀏覽器很可能直接顯示那個(gè)舊頁(yè)面。對(duì)于訂單、余額、個(gè)人信息這類實(shí)時(shí)變動(dòng)的頁(yè)面,用戶看到舊內(nèi)容會(huì)出問(wèn)題。
怎么做?按推薦程度排序
1.設(shè)置服務(wù)器響應(yīng)頭(最可靠)
在服務(wù)器返回頁(yè)面時(shí),主動(dòng)加上“禁止緩存”的指令,比如要求瀏覽器不要存儲(chǔ)本頁(yè)面、每次都必須重新向服務(wù)器請(qǐng)求。這是最穩(wěn)定的方案,因?yàn)榉?wù)器端控制權(quán)最高,所有瀏覽器都會(huì)遵守。
2.網(wǎng)頁(yè)頭部加聲明(輔助手段)
在網(wǎng)頁(yè)源代碼的頭部區(qū)域加入禁止緩存的聲明。缺點(diǎn)是部分老瀏覽器或網(wǎng)絡(luò)代理可能忽略它,只能作為補(bǔ)充,不能單獨(dú)依賴。
3.讓每次頁(yè)面地址不同
在跳轉(zhuǎn)鏈接或刷新頁(yè)面時(shí),給網(wǎng)址后面追加一個(gè)變化的內(nèi)容,比如當(dāng)前時(shí)間或隨機(jī)數(shù)字。瀏覽器看到地址變了,就會(huì)當(dāng)作新頁(yè)面去請(qǐng)求,而不是讀緩存。
4.改用表單提交方式
瀏覽器默認(rèn)不會(huì)緩存通過(guò)表單提交后的響應(yīng)頁(yè)面。因此對(duì)于重要操作的結(jié)果頁(yè),可以用這種方式來(lái)避免后退時(shí)出現(xiàn)舊內(nèi)容。但這會(huì)改變用戶的正常點(diǎn)擊行為,只適合特定場(chǎng)景。
5.額外的前端補(bǔ)救辦法
可以在頁(yè)面加載時(shí)做一個(gè)檢測(cè):如果發(fā)現(xiàn)當(dāng)前頁(yè)面是從緩存里讀取出來(lái)的(而不是從服務(wù)器新獲得的),就自動(dòng)重新向服務(wù)器請(qǐng)求一遍。這個(gè)方法純靠瀏覽器本身的行為判斷,可以作為最后的保險(xiǎn)。
注意兩點(diǎn)
性能影響:完全不讓緩存,意味著每次后退或訪問(wèn)都要重新下載全部?jī)?nèi)容(圖片、樣式等),會(huì)變慢、增加服務(wù)器壓力。只對(duì)真正需要實(shí)時(shí)數(shù)據(jù)的頁(yè)面這樣做。
最推薦的做法:在服務(wù)器上配置緩存控制頭,這是最根本、最可靠的方案。網(wǎng)頁(yè)里的聲明只是輔助,不能完全信任。
建站咨詢
SEO優(yōu)化咨詢
小程序咨詢
地 址:廣州市黃埔區(qū)銳豐中心1號(hào)樓922-929
業(yè)務(wù)熱線:020-32379980 售后專線:020-28999180
地 址:深圳市龍華新區(qū)布龍路榮應(yīng)大廈1105
業(yè)務(wù)熱線:15920999917 售后專線:15920999917
地 址:長(zhǎng)沙市雨花區(qū)德思勤城市廣場(chǎng)A8棟3024
業(yè)務(wù)熱線:0731-88612341 售后專線:13723888441
對(duì)公帳戶:廣州聯(lián)享信息科技有限公司
開(kāi)戶銀行:中國(guó)工商銀行廣州石牌支行 賬號(hào):3602 0986 0920 0130 274
| 銀行 | 戶名 | 開(kāi)戶行 | 帳號(hào) |
|---|---|---|---|
| 支付寶 | 廣州聯(lián)享信息科技有限公司 | 支付寶 | 123@a020.net |
| 中國(guó)工商銀行 | 楊雄 | 廣州車(chē)陂支行 | 6212 2636 0202 8813 145 |
| 中國(guó)銀行 | 楊雄 | 長(zhǎng)沙市賀龍支行 | 6217 8575 0002 4885 045 |
| 中國(guó)農(nóng)業(yè)銀行 | 楊雄 | 長(zhǎng)沙天心區(qū)支行 | 6228 4810 9946 1564 479 |