獲取本地存儲
HTML5本地存儲
HTML5中的 Web Storage 包括兩種存儲方式: sessionStorage 和 localStorage 本地離線存儲,同域下只能存儲 5M 的空間;IE6.7中可以用 UserData 來實現
sessionStorage 用於本地存儲一個會話(session)中的數據,這些數據只有在同個會話中的頁面才能訪問並且當會話結束後數據也隨之銷毀,因此 seesionStorage 不是一種持久化的本地存儲,僅僅是會話級別的存儲;
localStorage,用於持久化存儲本地數據,如果不手動刪除則會一直存在,就算把瀏覽器關了,清了瀏覽器緩存,關機等十天半個月再開,一樣的存在;但是,它只是存在同一個域名下;
❷ iOS開發怎麼獲取本地數據和把數據存儲到本地
一般獲取本地數據是從plist文件中讀取JSON數據。
讀取數據:
NSString
*plistPath
=
[[NSBundle
mainBundle]
pathForResource:@"city"
ofType:@"plist"];
NSArrary
*cityArray
=
[[NSArray
alloc]initWithContentsOfFile:plistPath];
這里的cityArray根據你存在plist中的數據類型來確定,如果plist中是字典類型,那麼你這里需要使用NSDictionary去存儲你從plist中獲取到的數據。
至於本地存儲數據的話根據你項目的具體功能來設計,一般的小型數據如用戶昵稱、手機號等使用NSUserDefault即可,但是如果是大量數據如賬單類app中的賬單數據那麼此時需要考慮使用sqlite3去存儲數據,至於密碼之類就需要使用NSKeydArchiver去存儲。
❸ 前端本地存儲的 3 種方法 cookie、localStorage、sessionStorage
當網頁要發http請求時,瀏覽器會先檢查是否有相應的cookie,有則自動添加在request header中的cookie欄位中。這些是瀏覽器自動幫我們做的,而且每一次http請求瀏覽器都會自動幫我們做。這個特點很重要,因為這關繫到「什麼樣的數據適合存儲在cookie中」。
存儲在cookie中的數據,每次都會被瀏覽器自動放在http請求中,如果這些數據並不是每個請求都需要發給服務端的數據,瀏覽器這設置自動處理無疑增加了網路開銷;但如果這些數據是每個請求都需要發給服務端的數據(比如身份認證信息),瀏覽器這設置自動處理就大大免去了重復添加操作。所以對於那種設置「每次請求都要攜帶的信息(最典型的就是身份認證信息)」就特別適合放在cookie中,其他類型的數據就不適合了。
不同的瀏覽器存放的cookie位置不一樣,也是不能通用的。
cookie的存儲是以域名形式進行區分的,不同的域下存儲的cookie是獨立的。
我們可以設置cookie生效的域(當前設置cookie所在域的子域),也就是說,我們能夠操作的cookie是當前域以及當前域下的所有子域
一個域名下存放的cookie的個數是有限制的,不同的瀏覽器存放的個數不一樣,一般為20個。
每個cookie存放的內容大小也是有限制的,不同的瀏覽器存放大小不一樣,一般為4KB。
cookie也可以設置過期的時間,默認是會話結束的時候,當時間到期自動銷毀
cookie值既可以設置,也可以讀取。
我們通過document.cookie來獲取當前網站下的cookie的時候,得到的字元串形式的值,它包含了當前網站下所有的cookie(為避免跨域腳本(xss)攻擊,這個方法只能獲取非 HttpOnly 類型的cookie)。它會把所有的cookie通過一個分號+空格的形式串聯起來,例如username=chenfangxu; job=coding
要想修改一個cookie,只需要重新賦值就行,舊的值會被新的值覆蓋。但要注意一點,在設置新cookie時,path/domain這幾個選項一定要舊cookie 保持一樣。否則不會修改舊值,而是添加了一個新的 cookie。
把要刪除的cookie的過期時間設置成已過去的時間,path/domain/這幾個選項一定要舊cookie 保持一樣。
如果我們想長時間存放一個cookie。需要在設置這個cookie的時候同時給他設置一個過期的時間。如果不設置,cookie默認是臨時存儲的,當瀏覽器關閉進程的時候自動銷毀
使用方法: setCookie('username','cfangxu',30)
domain指定了 cookie 將要被發送至哪個或哪些域中。默認情況下,domain 會被設置為創建該 cookie 的頁面所在的域名,所以當給相同域名發送請求時該 cookie 會被發送至伺服器。
瀏覽器會把 domain 的值與請求的域名做一個尾部比較(即從字元串的尾部開始比較),並將匹配的 cookie 發送至伺服器。
cookie 一般都是由於用戶訪問頁面而被創建的,可是並不是只有在創建 cookie 的頁面才可以訪問這個 cookie。 因為安全方面的考慮,默認情況下,只有與創建 cookie 的頁面在同一個目錄或子目錄下的網頁才可以訪問。即path屬性可以為伺服器特定文檔指定cookie,這個屬性設置的url且帶有這個前綴的url路徑都是有效的。
domain是域名,path是路徑,兩者加起來就構成了 URL,domain和path一起來限制 cookie 能被哪些 URL 訪問。 所以domain和path兩個個選項共同決定了cookie何時被瀏覽器自動添加到請求頭部中發送出去。如果沒有設置這兩個選項,則會使用默認值。domain的默認值為設置該cookie的網頁所在的域名,path默認值為設置該cookie的網頁所在的目錄。
通常 cookie 信息都是使用HTTP連接傳遞數據,這種傳遞方式很容易被查看,所以 cookie 存儲的信息容易被竊取。假如 cookie 中所傳遞的內容比較重要,那麼就要求使用加密的數據傳輸。
secure選項用來設置cookie只在確保安全的請求中才會發送。當請求是HTTPS或者其他安全協議時,包含 secure 選項的 cookie 才能被發送至伺服器。
把cookie設置為secure,只保證 cookie 與伺服器之間的數據傳輸過程加密,而保存在本地的 cookie文件並不加密。就算設置了secure 屬性也並不代表他人不能看到你機器本地保存的 cookie 信息。機密且敏感的信息絕不應該在 cookie 中存儲或傳輸,因為 cookie 的整個機制原本都是不安全的
注意:如果想在客戶端即網頁中通過 js 去設置secure類型的 cookie,必須保證網頁是https協議的。在http協議的網頁中是無法設置secure類型cookie的。
這個選項用來設置cookie是否能通過 js 去訪問。默認情況下,cookie不會帶httpOnly選項(即為空),所以默認情況下,客戶端是可以通過js代碼去訪問(包括讀取、修改、刪除等)這個cookie的。
當cookie帶httpOnly選項時,客戶端則無法通過js代碼去訪問(包括讀取、修改、刪除等)這個cookie。 在客戶端是不能通過js代碼去設置一個httpOnly類型的cookie的,這種類型的cookie只能通過服務端來設置。
HTML5新方法,不過IE8及以上瀏覽器都兼容。
生命周期:持久化的本地存儲,除非主動刪除數據,否則數據是永遠不會過期的。
存儲的信息在同一域中是共享的。
當本頁操作(新增、修改、刪除)了localStorage的時候,本頁面不會觸發storage事件,但是別的頁面會觸發storage事件。
大小:據說是5M(跟瀏覽器廠商有關系)
localStorage本質上是對字元串的讀取,如果存儲內容多的話會消耗內存空間,會導致頁面變卡
localStorage受同源策略的限制
當storage發生改變的時候觸發。 當頁面對storage的操作會觸發其他頁面的storage事件,storage事件是可以跨頁面通訊的,在你對storage對象進行任何操作的時候,都會觸發storage事件,事件里邊包括包括:
storage事件使用參考
對於sessionStorage和localStorage上的任何更改都會觸發storage事件,但storage事件不會區分這兩者;
其實跟localStorage差不多,也是本地存儲,會話本地存儲
和 localStorage 的API完全相同
用於本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問並且當會話結束後數據也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。也就是說只要這個瀏覽器窗口沒有關閉,即使刷新頁面或進入同源另一頁面,數據仍然存在。關閉標簽頁後,sessionStorage即被銷毀,或者在新的標簽頁打開同源的另一個頁面,sessionStorage也是沒有的。
應用的場景有,比如說我們都知道,在頁面刷新的時候,我們寫的js里邊的變數函數等等的,內存會被釋放掉,那麼這個時候可以用sessionStorage來存儲一些不想被釋放掉內存的數據,比如說記錄一個滾動條的位置,或者播放器的進度等等
在本地(瀏覽器端)存儲數據
sessionStorage和localStorage 都受到同源策略限制,就是跨域問題,在訪問sessionStorage和localStorage 的時候,頁面必須在同一個域名,使用同一個協議,並且一個埠
sessionStorage比localStorage更嚴苛一點,除了協議、主機名、埠外,還要求在同一窗口(也就是瀏覽器的標簽頁)下。
localStorage是永久存儲,除非手動刪除。
sessionStorage當會話結束(當前頁面、標簽頁關閉的時候,自動銷毀)
cookie的數據會在每一次發送http請求的時候,同時發送給伺服器而localStorage、sessionStorage不會。
sessionStorage和localStorage 也有大小限制,相比cookie大了很多,是5M
sessionStorage和localStorage只能通過客戶端操作,cookie既可以通過客戶端操作又可以通過服務端操作
❹ 本地存儲的兩個方法
1、數據存儲在用戶瀏覽器中
2、設置、讀取方便、甚至頁面刷新不丟失數據
3、容量較大,sessionStorage約5M、localStorage約20M
4、只能存儲字元串,可以將對象JSON.stringify() 編碼後存儲
1、生命周期為關閉瀏覽器窗口
2、在同一個窗口(頁面)下數據可以共享
3、以鍵值對的形式存儲使用
存儲數據:
獲取數據:
刪除數據:
清空數據:(所有都清除掉)
1、聲明周期永久生效,除非手動刪除 否則關閉頁面也會存在
2、可以多窗口(頁面)共享(同一瀏覽器可以共享)
3、以鍵值對的形式存儲使用
存儲數據:
獲取數據:
刪除數據:
清空數據:(所有都清除掉)
❺ bochs怎麼讀取本地存儲卡
先安裝bochs2_5_1軟體
再將SDL文件夾和HDD文件夾放在平板的機身內存的根目錄下,即可。理論上是全機型通用的,我已在精靈2上測試過,完美運行。其中,sdl文件夾中的c.img文件是windows98的系統鏡像文件,bochsrc.txt是系統配置文件。操作方法:在虛擬的98系統中,並不是手指在哪滑鼠就在哪,而是類似於筆記本電腦觸摸板的那種操作方式,手指任意在一定區域滑動(例如右下角),指針就可以移動到對應的方向。觸屏左下角箭頭鍵點擊一下是鍵盤輸入,音量+是滑鼠左鍵,—是右鍵,滑動觸屏是移動游標。想要退出時,先點小房子鍵,再切換回本程序,會出現一個英文的是否退出的提示,點yes即可。快捷鍵:返回鍵上一塊黑邊部分:激活平板的輸入法。最新更新,1。加入了D盤支持,也就是說你可以在虛擬的D分區中安裝程序,打開文檔等,如果需要在D盤上裝東西,請把文件放在平板機身內存根目錄下的HDD文件夾中。2.優化了運行內存,提升運行程序的能力和穩定性。本系統優點:由於是虛擬機,僅僅把windows系統當做外部軟體使用,所以完全不會影響到安卓系統的正常使用。
❻ 微信小程序--本地存儲
本地存儲分為非同步和同步。
設置:
非同步:wx.setStorage
同步:wx.setStorageSync
獲取:
非同步:wx.getStorage
同步:wx.getStorageSync
移除:
非同步:wx.removeStorage
同步:wx.removeStorageSync
清除所有:
非同步:wx.clearStorage
同步:wx.clearStorageSync
這里給大家以同步為例,
wx.setStorageSync('key','value')
接下來,我們說一下本地收藏功能怎麼實現的呢
這是一個列表渲染頁面,每一個view點進去的詳情頁面其實是一個頁面,只是傳不同的id,來賦值不同的數據展示出來而已。
通過JS文件中帶參數的跳轉,把相應的數據傳到詳情頁中,那接下來就是展示詳情頁
❼ LocalStorage本地存儲
在HTML5中,新加入了一個localStorage特性,這個特性主要是用來作為本地存儲來使用的,解決了cookie存儲空間不足的問題(cookie中每條cookie的存儲空間為4k),localStorage中一般瀏覽器支持的是5M大小,這個在不同的瀏覽器中localStorage會有所不同。localStorage屬於永久性存儲,不可被爬蟲抓取。
localStorage存儲的數據是不能跨瀏覽器共用的,也就是說存儲在瀏覽器的數據只能在這個瀏覽器中訪問。
如果存儲進去的是int類型,列印出來會是string類型,這個與localStorage本身的特點有關,localStorage只支持string類型的存儲。
表格來源
數據來源一 數據來源二
localStorage.getItem(key):
獲取指定key本地存儲的值,不會自動將Json對象轉成字元串形式,如果key的value不存在時,返回null
localStorage.setItem(key,value):
將value存儲到key欄位,如果key的value存在時,更新key的值,
localStorage.removeItem(key) 和 localStorage.clear():
刪除指定key本地存儲的值,表示清除單項key的值
讀取數據
遍歷數據
如何存儲JSON對象:
localStorage.setItem() 不會自動將Json對象轉成字元串形式,用localStorage.setItem()正確存儲JSON對象方法是,存儲前先用JSON.stringify()方法將json對象轉換成字元串形式,後續要操作該JSON對象,要將之前存儲的JSON字元串先轉成JSON對象再進行操作:
❽ 用戶信息過期更新後讀取本地存儲錯誤
用戶信息過期更新後讀取本地存儲錯誤的原因:
1、首先要知道這是用戶配置文件出現損壞,所以要保存好原來桌面上的文件。
2、因覆蓋到原來的文件,導致本地存儲錯誤。
❾ 前端本地存儲
隨著互聯網的快速發展,基於網頁的應用越來越普遍,同時也變的越來越復雜,為了滿足各種各樣的需求,會經常性在本地存儲大量的數據,HTML5規范提出了相關解決方案。
一,本地存儲特性
1、數據存儲在用戶瀏覽器中
2、設置、讀取方便、甚至頁面刷新不丟失數據
3、容量較大約5M
4、只能存儲字元串,可以將對象JSON.stringify() 編碼後存儲
二,window.sessionStorage
1、生命周期為關閉瀏覽器窗口
2、在同一個窗口(頁面)下數據可以共享
3、以鍵值對的形式存儲使用
存儲數據:
sessionStorage.setItem(key,value)
獲取數據:
sessionStorage.getItem(key)
刪除數據:
sessionStorage.removeItem(key)
清空數據:(所有都清除掉)
sessionStorage.clear()
三.window.localStorage
存儲空間高達5m
沒有過期時間
localStorage 會一直存在
sessionStorage 窗口關閉失效
cookie會在客戶端和伺服器端往返 ,本地存儲只存儲在本地
存儲數據:
設置存儲有三種方式:
localStorage.key="value"
localStorage["key"]="value"
localStorage.setItem(key, value)
localStorage.setItem(key,value)
//參數1 是鍵
//參數2是對應的值
//setItem 也是修改元素
注意:不能直接存儲對象 可以將對象轉化為1個字元串
//注意:不能直接存儲對象 可以將對象轉化為1個字元串
//通過json
varstr=JSON.stringify(對象名);
localStorage.setItem('對象名',str);
//使用的時候可以再將json字元串轉為對象
varstr1=localStorage.getItem('對象名');
varobj=JSON.parse(str);
獲取數據:
localStorage.getItem(key(1))
//通過索引獲取key值
//沒有就返回null
刪除數據:
localStorage.removeItem(key)
//刪除 通過key值
清空數據:(所有都清除掉)
localStorage.clear()
對象長度(有多少個元素)
localStorage.length
