溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

html5本地存儲(chǔ)中的localstorage和本地?cái)?shù)據(jù)庫(kù)與sessionStorage的使用方法

發(fā)布時(shí)間:2021-09-14 16:27:19 來源:億速云 閱讀:107 作者:柒染 欄目:web開發(fā)

這篇文章給大家介紹html5本地存儲(chǔ)中的localstorage和本地?cái)?shù)據(jù)庫(kù)與sessionStorage的使用方法,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

html5的一個(gè)非常cool的功能,就是web storage,類似于之前的cookie,不過與之不同的是,web storage 擁有本地5兆的容量可以存儲(chǔ),而cookie卻只有4K,這是完全不能比的優(yōu)勢(shì)。
webstrange又分為:localstorage,sessionstorage和本地?cái)?shù)據(jù)庫(kù)。
接下來我就來一一介紹:
1、localstorage
localstorage 的使用比較簡(jiǎn)單,方法有:

代碼如下:

localStorage.setItem(key,value);//保存數(shù)據(jù)
localStorage.getItem(key);//讀取數(shù)據(jù)
localStorage.removeItem(key);//刪除單個(gè)數(shù)據(jù)
localStorage.clear();//刪除所有數(shù)據(jù)
key:localStorage.key(index);//得到某個(gè)索引的值

一個(gè)小demo來展示功能:

代碼如下:

(function($){
    $(function(){
        $.fn.getFormParam=function(){
            var serializeObj={};
            var array=this.serializeArray();
            var str=this.serialize();
            $(array).each(function(){
                if(serializeObj[this.name]){
                    if($.isArray(serializeObj[this.name])){
                        serializeObj[this.name].push(this.value);
                    }else{
                        serializeObj[this.name]=[serializeObj[this.name],this.value];
                    }
                }else{
                    serializeObj[this.name]=this.value;
                }
            });
            return serializeObj;
        };</p>
<p>        var storageFile =JSON.parse(window.localStorage.getItem('demo'));
        $.each(storageFile, function(i, val){
            $('#demoForm').find('[name="'+i+'"]').val(val);
        });</p>
<p>        $('#demoForm').find('[type="submit"]').on('click', function(){
            var data = $('#demoForm').getFormParam();
            window.localStorage.setItem('demo', JSON.stringify(data));
            return false;
        });
    });
})(jQuery)

html 代碼:

代碼如下:

<!doctype html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <script src="jquery-1.10.2.min.js"></script>
    <script src="demo.js"></script>
    <title>Document</title>
</head>
<body>
    <form id="demoForm">
        <p><label><span>姓名</span><input name="name"></label></p>
        <p><label><span>年齡</span><input name="age"></label></p>
        <p><label><span>學(xué)號(hào)</span><input name="number"></label></p>
        <p><label><span>地址</span><input name="address"></label></p>
        <p><label><span>愛好</span><input name="habit"></label></p>
        <p><label><span>其他</span><textarea name="big" id="" cols="30" rows="10"></textarea></label></p>
        <p><input type="submit" value="提交"></p>
    </form>
</body>
</html>

這樣,一個(gè)簡(jiǎn)單的展示localstorage 的 demo就實(shí)現(xiàn)了

2、sessionStorage
sessionStorage用法與localStorage用法相同,不過sessionStorage在瀏覽器關(guān)閉網(wǎng)站時(shí)候就會(huì)清除,而localStorage會(huì)一直保存至瀏覽器中,二者酌情配合使用。

3、本地?cái)?shù)據(jù)庫(kù)
熟悉IOS/Android開發(fā)的同學(xué),應(yīng)該會(huì)對(duì)SQLite數(shù)據(jù)庫(kù)比較熟悉
html5中對(duì)數(shù)據(jù)庫(kù)的操作比較簡(jiǎn)單,主要有openDatabase方法和transaction方法
用一個(gè)對(duì)象db來接收openDatabase創(chuàng)建的訪問數(shù)據(jù)庫(kù)的對(duì)象

代碼如下:

var db = openDatabase(databasename,version,description,size)

其中
databasename:數(shù)據(jù)庫(kù)名
version:數(shù)據(jù)庫(kù)版本 可不填
desription:數(shù)據(jù)庫(kù)描述
size:數(shù)據(jù)庫(kù)分配空間大小
transaction方法用一個(gè)回調(diào)函數(shù)作為參數(shù),在函數(shù)中執(zhí)行具體的訪問數(shù)據(jù)庫(kù)的方法

代碼如下:

db.transaction(function(tx)){
tx.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler)
});

executeSql方法的四個(gè)參數(shù)分別是:

sqlQuery:需要具體執(zhí)行的sql語(yǔ)句,create||select||update||delete;

[value1,value2..]:sql語(yǔ)句中所有使用到的參數(shù)的數(shù)組,在executeSql方法中,將sql語(yǔ)句中所要使用的參數(shù)先用“?”代替,然后依次將這些參數(shù)組成數(shù)組放在第二個(gè)參數(shù)中;

dataHandler:執(zhí)行成功回調(diào)函數(shù);

errorHandler:執(zhí)行失敗回調(diào)函數(shù);

關(guān)于html5本地存儲(chǔ)中的localstorage和本地?cái)?shù)據(jù)庫(kù)與sessionStorage的使用方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI