摘要:移動(dòng)端緩存失效是我印象最深的一個(gè)之一,為啥呢,因?yàn)檫@個(gè)問(wèn)題導(dǎo)致我加班到很晚。的生命周期是僅在當(dāng)前會(huì)話(huà)下有效。引入了一個(gè)瀏覽器窗口的概念,是在同源的窗口中始終存在的數(shù)據(jù)。
無(wú)bug,不程序:作為程序員的我,不是修bug就是在寫(xiě)bug的路上。
移動(dòng)端sessionStorage緩存失效是我“印象最深的一個(gè)bug”之一,為啥呢,因?yàn)檫@個(gè)問(wèn)題導(dǎo)致我加班到很晚。在現(xiàn)在看來(lái)就是一個(gè)簡(jiǎn)單的概念問(wèn)題。
在我剛工作的時(shí)候,公司還沒(méi)有招到前端工程師,于是作為后端工程師的我開(kāi)始了不怎么愉快地前端之旅,不知道大家是否理解自學(xué)新語(yǔ)言的苦,里面的坑簡(jiǎn)直能讓人自閉。
作為我兼職前端的第一個(gè)bug:“移動(dòng)端sessionStorage緩存失效”,沒(méi)錯(cuò),就是概念沒(méi)理解透,導(dǎo)致在App里面獲取后為null(這里的App是一個(gè)jQuery Mobile盒子套html),在PC端是正常的。
因?yàn)?strong>sessionStorage的生命周期是僅在當(dāng)前會(huì)話(huà)下有效,移動(dòng)端切換頁(yè)面是關(guān)閉原頁(yè)面打開(kāi)新頁(yè)面,知道sessionStorage特性的朋友看到這里是不是瞬間理解了?
解決方案,我們知道sessionStorage被清空的原因是:移動(dòng)端切換頁(yè)面是關(guān)閉原頁(yè)面打開(kāi)新頁(yè)面,因此,在做移動(dòng)端的時(shí)候,可以采用localStorage保存數(shù)據(jù),使用完后再清空l(shuí)ocalStorage。
當(dāng)然,如果是在同一個(gè)頁(yè)面中,sessionStorage的使用是沒(méi)有任何問(wèn)題的。
我們一起看一下sessionStorage和localStorage的概念,深入了解一下:
1、生命周期:localStorage的生命周期是永久的,關(guān)閉頁(yè)面或?yàn)g覽器之后localStorage中的數(shù)據(jù)也不會(huì)消失。localStorage除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)永遠(yuǎn)不會(huì)消失。
? ? ? ? ?sessionStorage的生命周期是僅在當(dāng)前會(huì)話(huà)下有效。sessionStorage引入了一個(gè)“瀏覽器窗口”的概念,sessionStorage是在同源的窗口中始終存在的數(shù)據(jù)。
只要這個(gè)瀏覽器窗口沒(méi)有關(guān)閉,即使刷新頁(yè)面或者進(jìn)入同源另一個(gè)頁(yè)面,數(shù)據(jù)依然存在。但是sessionStorage在關(guān)閉了瀏覽器窗口后就會(huì)被銷(xiāo)毀。同時(shí)獨(dú)立的打開(kāi)同一個(gè)窗口同一個(gè)頁(yè)面,sessionStorage也是不一樣的。
2、存儲(chǔ)大?。簂ocalStorage和sessionStorage的存儲(chǔ)數(shù)據(jù)大小一般都是:5MB。
3、存儲(chǔ)位置:localStorage和sessionStorage都保存在客戶(hù)端,不與服務(wù)器進(jìn)行交互通信。
4、存儲(chǔ)內(nèi)容類(lèi)型:localStorage和sessionStorage只能存儲(chǔ)字符串類(lèi)型,對(duì)于復(fù)雜的對(duì)象可以使用ECMAScript提供的JSON對(duì)象的stringify和parse來(lái)處理。
5、獲取方式:localStorage:localStorage.getItem("key");;sessionStorage:sessionStorage.getItem("key")。
6、應(yīng)用場(chǎng)景:localStorage:常用于長(zhǎng)期登錄(+判斷用戶(hù)是否已登錄),適合長(zhǎng)期保存在本地的數(shù)據(jù)。sessionStorage:敏感賬號(hào)一次性登錄;
?
看到這里是不是感覺(jué)很簡(jiǎn)單,換成localStorage就可以了,正所謂“會(huì)者不難難者不會(huì)”,當(dāng)時(shí)的我剛剛轉(zhuǎn)換學(xué)習(xí)前端,很多概念沒(méi)理解透導(dǎo)致一些前端問(wèn)題頻繁出現(xiàn)。
我們簡(jiǎn)單看一下寫(xiě)入和讀取方式:
//寫(xiě)入緩存localStorage.setItem("key", "value");//獲取緩存 localStorage.getItem("key");//寫(xiě)入緩存sessionStorage.setItem("key", "value");//獲取緩存sessionStorage.getItem("key");
?
? 歡迎關(guān)注訂閱微信公眾號(hào)【熊澤有話(huà)說(shuō)】,更多好玩易學(xué)知識(shí)等你來(lái)取 作者:熊澤-學(xué)習(xí)中的苦與樂(lè) 公眾號(hào):熊澤有話(huà)說(shuō) 出處:?https://www.cnblogs.com/xiongze520/p/15568939.html 您可以隨意轉(zhuǎn)載、摘錄,但請(qǐng)?jiān)谖恼聝?nèi)注明作者和原文鏈接。 ? ? |
?
?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/123764.html
摘要:最近的一次更新的變量有效,并且會(huì)作用于全部的引用的處理方式和相同,變量值輸出時(shí)根據(jù)之前最近的一次定義計(jì)算,每次引用最近的定義有效嵌套三種預(yù)編譯器的選擇器嵌套在使用上來(lái)說(shuō)沒(méi)有任何區(qū)別,甚至連引用父級(jí)選擇器的標(biāo)記也相同。 面試匯總一:2018大廠高級(jí)前端面試題匯總 高級(jí)面試:【半月刊】前端高頻面試題及答案匯總 css內(nèi)容 響應(yīng)式布局 當(dāng)前主流的三種預(yù)編譯器比較 CSS預(yù)處理器用一種專(zhuān)門(mén)的...
摘要:使用方法與相同存儲(chǔ)讀取刪除刪除所有刪除某個(gè)兼容性與都支持,大部分瀏覽器都支持六是在瀏覽器保存結(jié)構(gòu)化數(shù)據(jù)中的一種數(shù)據(jù)庫(kù)。所以是為了可以在客戶(hù)端存儲(chǔ)大量的結(jié)構(gòu)化數(shù)據(jù)而存在的,并且使用索引高效檢索的。 前言 瀏覽器緩存就是把一個(gè)請(qǐng)求過(guò)的web資源,存儲(chǔ)在瀏覽器中。等下次在訪問(wèn)相同的請(qǐng)求時(shí),緩存會(huì)根據(jù)緩存機(jī)制去決定要不要向服務(wù)器發(fā)送請(qǐng)求,或者直接用緩存的資源響應(yīng)訪問(wèn)。 瀏覽器緩存一般包含有 1...
摘要:根據(jù)標(biāo)準(zhǔn),到目前為止,一共有種緩存機(jī)制,有些是之前已有,有些是才新加入的。首次請(qǐng)求緩存有效期內(nèi)請(qǐng)求緩存過(guò)期后請(qǐng)求一般瀏覽器會(huì)將緩存記錄及緩存文件存在本地文件夾中。 騰訊 Bugly 特約作者:賀輝超 1. H5 緩存機(jī)制介紹 H5,即 HTML5,是新一代的 HTML 標(biāo)準(zhǔn),加入很多新的特性。離線存儲(chǔ)(也可稱(chēng)為緩存機(jī)制)是其中一個(gè)非常重要的特性。H5 引入的離線存儲(chǔ),這意味著 web ...
摘要:最近學(xué)習(xí)了本地存儲(chǔ)幾種方式各自的特點(diǎn)和區(qū)別,遂記錄下來(lái),以加深印象。是服務(wù)器種植在客戶(hù)端的形式文本文件。這也是限制大小的原因。保存在客戶(hù)端,不隨著請(qǐng)求發(fā)送給服務(wù)器,避免了流量的浪費(fèi)。存儲(chǔ)的信息是會(huì)話(huà)級(jí)別的,同域也是不能共享的。 最近學(xué)習(xí)了本地存儲(chǔ)幾種方式各自的特點(diǎn)和區(qū)別,遂記錄下來(lái),以加深印象。 一、cookie cookie算是比較早的技術(shù),最初是為了記錄http的狀態(tài),提高訪問(wèn)速度...
閱讀 2636·2021-11-18 10:07
閱讀 1089·2021-08-03 14:04
閱讀 731·2019-08-30 13:08
閱讀 2585·2019-08-29 15:33
閱讀 1099·2019-08-29 14:07
閱讀 2997·2019-08-29 14:04
閱讀 1447·2019-08-29 11:19
閱讀 1152·2019-08-29 10:59