HTML5提供了在客戶端儲存資料的新方法Web Storage
類似於HTML4中的Cookie
不過它要強大的多
Cookie
先來簡單複習一下之前使用的cookie
cookie儲存資料到使用者裝置上,儲存的資料量較小只有4KB
可以透過navigator.cookieEnabled偵測是否開啟了cookie
設定cookie
document.cookie = 'key=value';
取得cookie
document.cookie;
刪除cookie
document.cookie = "key=value;max-age=0";
#設定max-age儲存期限
document.cookie = "key=value;max-age=1000"; // 1000秒
#設定expires儲存期限
var timestamp = (new Date()).getTime() + 10000;var expires = new Date(timestamp).toGMTString(); //或toUTCStringdocument.cookie = "key=value;expires="+expires;
# 取得具體cookie值
function getCookie(name) { var name = name + "="; var ary = document.cookie.split(';'); for(var i = 0; i < ary.length; i++){ var c = ary[i]; while (c.charAt(0) == ' '){ c = c.substring(1); } if (c.indexOf(name) != -1){ return c.substring(name.length, c.length); } } return ""; }
Web Storage
#Web Storage又分為兩種
localStorage和sessionStorage
它們的區別是:
localStorage儲存的是永久數據,除非手動刪除
sessionStorage儲存的是臨時數據,視窗關閉就會消失
#簡單使用
Web Storage只能儲存字串資料
我覺得可以把它們理解為JSON
使用方法都是類似的,已localStorage為例
localStorage.name = 'payen'; localStorage.info = JSON.stringify({name: 'payen', age: 20}); console.log(localStorage.name); console.log(JSON.parse(localStorage.info));
要儲存的資料名稱就是localStorage的屬性名稱
普通的字串正常儲存就可以了
物件資料可以利用JSON.stringify()將其轉換為字串格式
使用的時候再用JSON.parse()轉換回物件格式
(如果直接儲存物件的話,它會被強制轉換為字串「[object Object]」)
刪除資料直接delete就好
delete localStorage.name;delete localStorage.info;
如果不刪除的話,localStorage裡面的資料就會一直存在於你的瀏覽器了
API
localStorage和sessionStorage也提供了簡單的API
類似於一個客戶端的資料庫
(API都是相同的)
常用的有以下幾個:
儲存資料setItem(key,value)
讀取資料getItem(key)
刪除單一資料removeItem(key)
清空全部資料clearItem()
取得資料索引key(index)
實例
透過這個,我們可以寫個簡易的通訊錄
<p id="container"> <br> <label for="username">姓名:</label> <input type="text" id="username" name="username"> <br> <label for="mobilephone">手机:</label> <input type="text" id="mobilephone" name="mobilephone"> <br><br> <input type="button" onclick="add()" id="add" value="增加联系人"> <br><br> <hr> <label for="search">输入姓名:</label> <input type="text" id="search" name="search"> <br><br> <input type="button" onclick="find()" id="find" value="查找手机号"> <p id="result"><br></p></p>
#container { border: 2px solid gray; width: 320px; text-align:center;}
JavaScript中就是實現這兩個函數
var user = document.getElementById('username'), phone = document.getElementById('mobilephone'), search = document.getElementById('search'), result = document.getElementById('result');var add = function(){ var u = user.value, p = phone.value, l = localStorage.length; if(u !== '' && p !== ''){ localStorage.setItem(u, p); user.value = ''; phone.value = ''; alert('添加成功'); } };var find = function(){ var s = search.value, r = localStorage.getItem(s); if(s !== '' && r){ result.innerHTML = r; } };
輸入姓名和手機新增聯絡人
然後在下面輸入聯絡人姓名我們可以查找到手機號碼
當然這個通訊錄十分簡易了
也可以為它添加顯示通訊錄全部資訊
刪除聯絡人功能等等
cookie與Web Storage區別
最後說說Html5的Web Storage和Html4的cookie的區別
特點 | Cookie | #Web Storage |
---|---|---|
生命週期 | 一般由伺服器產生並設定時間;瀏覽器產生預設關閉瀏覽器失效 | local :不清除則永久保存;session:關閉頁面或瀏覽器失效 |
資料大小 | 4KB | 官方推薦5MB |
通訊 | 攜帶在HTTP頭中(過度使用有效能問題) | #僅在瀏覽器存儲,不參與通訊 |
#使用 | 原生介面不友好,需要手動封裝 | 原生介面友好 |
以上就是HTML5客戶端資料存儲Web Storage—localStorage與sessionStorage的內容,更多相關內容請關注PHP中文網(www.php.cn)!

HTML5是構建現代網頁的關鍵技術,提供了許多新元素和功能。 1.HTML5引入了語義化元素如、、等,增強了網頁結構和SEO。 2.支持多媒體元素和,無需插件即可嵌入媒體。 3.表單增強了新輸入類型和驗證屬性,簡化了驗證過程。 4.提供了離線和本地存儲功能,提升了網頁性能和用戶體驗。

H5代碼的最佳實踐包括:1.使用正確的DOCTYPE聲明和字符編碼;2.採用語義化標籤;3.減少HTTP請求;4.使用異步加載;5.優化圖像。這些實踐能提升網頁的效率、可維護性和用戶體驗。

Web标准和技术从HTML4、CSS2和简单的JavaScript演变至今,经历了显著的发展。1)HTML5引入了Canvas、WebStorage等API,增强了Web应用的复杂性和互动性。2)CSS3增加了动画和过渡功能,使页面效果更加丰富。3)JavaScript通过Node.js和ES6的现代化语法,如箭头函数和类,提升了开发效率和代码可读性,这些变化推动了Web应用的性能优化和最佳实践的发展。

H5不僅僅是HTML5的簡稱,它代表了一個更廣泛的現代網頁開發技術生態:1.H5包括HTML5、CSS3、JavaScript及相關API和技術;2.它提供更豐富、互動、流暢的用戶體驗,能在多設備上無縫運行;3.使用H5技術棧可以創建響應式網頁和復雜交互功能。

H5與HTML5指的是同一個東西,即HTML5。 HTML5是HTML的第五個版本,帶來了語義化標籤、多媒體支持、畫布與圖形、離線存儲與本地存儲等新功能,提升了網頁的表現力和交互性。

H5referstoHTML5,apivotaltechnologyinwebdevelopment.1)HTML5introducesnewelementsandAPIsforrich,dynamicwebapplications.2)Itsupportsmultimediawithoutplugins,enhancinguserexperienceacrossdevices.3)SemanticelementsimprovecontentstructureandSEO.4)H5'srespo

H5開發需要掌握的工具和框架包括Vue.js、React和Webpack。 1.Vue.js適用於構建用戶界面,支持組件化開發。 2.React通過虛擬DOM優化頁面渲染,適合複雜應用。 3.Webpack用於模塊打包,優化資源加載。

HTML5hassignificantlytransformedwebdevelopmentbyintroducingsemanticelements,enhancingmultimediasupport,andimprovingperformance.1)ItmadewebsitesmoreaccessibleandSEO-friendlywithsemanticelementslike,,and.2)HTML5introducednativeandtags,eliminatingthenee


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。