HTML5 web存儲有兩個重要對象:
- localStorage - 沒有時間限制的數據存儲
- sessionStorage - 針對一個 session 的數據存儲(關閉窗口,存儲的數據清空)
一般涉及到瀏覽器內狀態存儲時,首先會想到cookie。
但是請回憶一下這樣的場景,打開某個APP,彈出一個購買會員的廣告,果斷關掉,然后前進、后退、刷新,廣告都不出來了,
關掉APP后重新打開,廣告又來了~~
這時如果明白sessionstorage,很快也就會清楚這個功能怎么實現的
實現思路
①查詢sessionStorage是否有關閉廣告標記 sessionStorage.setItem("key", "value")
②根據標記隱藏或者顯示廣告 sessionStorage.getItem("key")
這樣,每次關閉瀏覽器或者APP,廣告都會重新彈出來
其它應用舉例
閱讀文章時,不小心刷新頁面,會跳到上次瀏覽位置
①頁面滾動,將滾動位置存到session中(如果有分頁,則同時存儲頁碼)
②再次進到頁面中,到session中取出上次保存的瀏覽位置和存儲的頁碼
③(如果有分頁,先打開響應頁碼),滾動到對應位置
$(window).scroll(function(){
if($(document).scrollTop()!=0){
sessionStorage.setItem("offsetTop", $(window).scrollTop());//保存滾動位置
}
});
window.onload = function()
{
var _offset = sessionStorage.getItem("offsetTop");
$(document).scrollTop(offsetTop);
};