中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

十分鐘內(nèi)學(xué)會(huì):控制瀏覽器是否緩存網(wǎng)頁(yè)狀態(tài)

  Question

  在Firefox等瀏覽器中,如果你打開(kāi)一個(gè)頁(yè)面并進(jìn)行若干操作,例如在文本框進(jìn)行輸入,甚至點(diǎn)擊按鈕進(jìn)行Ajax操作更新頁(yè)面局部,這些操作的結(jié)果都會(huì)被緩存下來(lái)。在你點(diǎn)擊鏈接離開(kāi)這個(gè)頁(yè)面后,如果你通過(guò)后退按鈕回到這個(gè)頁(yè)面,你會(huì)發(fā)現(xiàn)它仍出于你離開(kāi)時(shí)的狀態(tài),而非頁(yè)面剛剛加載好后的初始狀態(tài)。在一些情況下,這樣的緩存方式是符合我們預(yù)期的;但在另外一些情況下,我們更希望頁(yè)面恢復(fù)到初始狀態(tài),或者說(shuō)讓頁(yè)面從零開(kāi)始重新加載一邊。我們?nèi)绾尾拍茏尀g覽器尊重我們的選擇呢?

  Answer

  如果你只是希望頁(yè)面不緩存加載后的變更,后退就恢復(fù)到最初加載的狀態(tài),你只需要一個(gè)空白的unload事件就可以了:

  window.onunload = function(){};

  其中的原理是,F(xiàn)irefox等瀏覽器會(huì)嘗試通過(guò)“掛起(suspend)”的方式來(lái)緩存頁(yè)面,使得后退能夠恢復(fù)到頁(yè)面之前被掛起那一刻的狀態(tài)。然而如果unload事件有處理函數(shù),瀏覽器就認(rèn)為你可能已經(jīng)對(duì)頁(yè)面進(jìn)行了析構(gòu)處理,這時(shí)候頁(yè)面已經(jīng)不可能回到正常的交互狀態(tài),也就不能以掛起的方式來(lái)緩存頁(yè)面。

  如果我們希望允許瀏覽器掛起頁(yè)面,同時(shí)又需要知道何時(shí)被掛起何時(shí)被恢復(fù),那該怎么辦呢?我們可以用window對(duì)象上的pageshow和pagehide事件。當(dāng)頁(yè)面被掛起并隱藏時(shí),pagehide事件會(huì)被觸發(fā);當(dāng)頁(yè)面被恢復(fù)到掛起前狀態(tài)并顯示出來(lái)時(shí),pageshow事件會(huì)被觸發(fā)。Firefox從1.5開(kāi)始就支持這兩個(gè)事件,Safari最新的nightly build也支持這兩個(gè)事件。

it知識(shí)庫(kù)十分鐘內(nèi)學(xué)會(huì):控制瀏覽器是否緩存網(wǎng)頁(yè)狀態(tài),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品视频一区二区三区 | av在线天堂 | 国产一区二区在线播放 | 国产一在线观看 | 亚洲成人一区二区三区 | 国产精品www | 成人免费av | 欧美日韩1区 | 亚洲小视频| 中文字幕欧美一区二区 | 久久亚洲国产 | 一区二区不卡视频 | 天天操操| 国产传媒毛片精品视频第一次 | 国精日本亚洲欧州国产中文久久 | 99re6在线视频精品免费 | 在线观看涩涩视频 | 色婷婷九月 | 欧美日韩三级视频 | 久久国产一区二区 | 久久伦理中文字幕 | 欧美自拍日韩 | 国产一级片免费视频 | 国产激情网 | 国产在线播放一区二区三区 | 黄色大片免费看 | 亚洲精品一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 欧美日韩精品久久久免费观看 | 精品亚洲永久免费精品 | www.日日夜夜 | 91精品一区 | 成人一区二区在线 | 有码一区| 国产成人综合在线 | 在线视频91 | 亚洲电影专区 | 国产精品亚洲综合 | 国产欧美精品区一区二区三区 | 亚洲视频在线观看 | 91精品国产91久久综合桃花 |