JavaScript使用localStorage儲存數據
本篇文章為大家帶來了關於javascript的相關知識,其中主要介紹了JavaScript使用localStorage存儲數據,文中示例代碼介紹的非常詳細,具有一定的參考價值,希望對大家有幫助。
【相關推薦:javascript影片教學、web前端】
##背景
以前js都是Session 和#Cookie 來儲存訊息,彷彿我還停留在那個時候,一問同事有沒有新的solution,才知道現在已經有HTML5 localStorage 本機儲存這個東西,可以在瀏覽器端儲存資料。
記得最早的Cookies只能存很小的東西,4KB的樣子,而且安全性很差,在IE6時代一個網域也只能二十個Cookies吧,限制挺大,當然IE還有userData的東西,沒什麼用。 Flash也帶了一個Storage,相對比較大,空間是Cookie的25倍左右,當時現在也廢棄Flash了。
到了H5時代,就統一了,LocalStorage一統天下。官方建議是每個網站 5MB ,非常大了,雖然瀏覽器設定會有差異,但是一般就存些JSON或者字串或者快取來說,足夠了。
HTML5 LocalStorage 本機儲存
-
#sessionStorage:已儲存的資料用於瀏覽器的一次會話,當會話結束(通常是該視窗關閉),資料被清空;
-
localStorage:已儲存的資料長期存在,下次造訪該網站的時候,網頁可以直接讀取以前儲存的資料。除了保質期的長短不同,這兩個物件的屬性和方法完全一樣。
function checkStorageSupport() { // sessionStorage if (window.sessionStorage) { return true; } else { return false; } // localStorage if (window.localStorage) { return true; } else { return false; } }
Storage 動作
sessionStorage 和localStorage 儲存的數據,都以「Key-Value鍵值對」的形式存在。也就是說,每一項資料都有一個鍵名和對應的值。所有的資料都是以文字格式儲存。
//sessionStorage 操作 sessionStorage.setItem("key","value"); // setItem方法,存储变量名为key,值为value的变量 var valueSession = sessionStorage.getItem("key"); // getItem方法,读取存储变量名为key的值 sessionStorage.removeItem('key'); // removeItem方法,删除变量名为key的存储变量 sessionStorage.clear(); // clear方法,清除所有保存数据 //localStorage 操作 localStorage.setItem("key","value"); // 存储变量名为key,值为value的变量 localStorage.key = "value" // 同setItem方法,存储数据 var valueLocal = localStorage.getItem("key"); // 读取存储变量名为key的值 var valueLocal = localStorage.key; // 同getItem,读取数据 localStorage.removeItem('key'); // removeItem方法,删除变量名为key的存储变量 localStorage.clear(); // clear方法,清除所有保存的数据 // 利用length属性和key方法,遍历所有的数据 for(var i = 0; i < localStorage.length; i++) { console.log(localStorage.key(i)); } // 存储 localStorage 数据为 Json 格式 value = JSON.stringify(jsonValue); // 将 JSON 对象 jsonValue 转化成字符串 localStorage.setItem("key", value); // 用 localStorage 保存转化好的的字符串 // 读取 localStorage 中 Json 格式数据 var value = localStorage.getItem("key"); // 取回 value 变量 jsonValue = JSON.parse(value); // 把字符串转换成 JSON 对象
Storage 事件
當儲存的資料發生變化時,會觸發 storage 事件。我們可以指定這個事件的回呼函數。window.addEventListener("storage",onStorageChange);
function onStorageChange(e) { console.log(e.key); }
- oldValue:更新前的值。如果該鍵為新增加,則這個屬性為null。
- newValue:更新後的值。如果該鍵被刪除,則這個屬性為null。
- url:原始觸發storage事件的那個網頁的網址。
擴充知識
1、localStorage和sessionStorage是HTML5 Web儲存的提供的兩種儲存方式,在IE7以上以及大多數瀏覽器都是支援的2、localStorage和sessionStorage的區別:(1)、localStorage和sessionStorage一樣都是用來儲存客戶端臨時資訊的物件。 (2)、他們都是只能儲存字串類型的對象(雖然規範中可以儲存其他原生類型的對象,但是目前為止沒有瀏覽器對其進行實現)。 (3)、localStorage生命週期是永久,這表示除非使用者顯示在瀏覽器提供的UI上清除localStorage訊息,否則這些資訊將永遠存在。 (記錄在記憶體中的)sessionStorage生命週期為當前視窗或標籤頁,一旦視窗或標籤頁被關閉了,那麼所有透過sessionStorage儲存的資料也就被清空了(回話性質的儲存)
(4)、不同瀏覽器無法分享localStorage或sessionStorage中的資訊。相同瀏覽器的不同頁間可以共用相同的localStorage(頁面屬於相同網域和連接埠),但是不同頁面或標籤頁間無法共享sessionStorage的資訊。
這裡需要注意的是,頁面及標籤頁僅指頂級窗口,如果一個標籤頁包含多個iframe標籤且他們屬於同源頁面,那麼他們之間是可以共享sessionStorage的。 (同源原則)
3、localStorage和sessionStorage可儲存資料的大小一般為5MB
【相關推薦:javascript影片教學、web前端】
以上是JavaScript使用localStorage儲存數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數
