婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > HTML5本地存儲和本地數(shù)據(jù)庫實例詳解

HTML5本地存儲和本地數(shù)據(jù)庫實例詳解

熱門標(biāo)簽:成都智能外呼系統(tǒng)平臺 鎮(zhèn)江智能外呼系統(tǒng)有效果嗎 四川點撥外呼系統(tǒng) 黃島區(qū)地圖標(biāo)注 云南大理400電話申請官方 江蘇智能電銷機器人哪家好 當(dāng)涂高德地圖標(biāo)注 南寧點撥外呼系統(tǒng)哪家公司做的好 電銷機器人電話用什么卡

本地存儲

1.1 本地存儲由來的背景

由于HTML4時代Cookie的大小、格式、存儲數(shù)據(jù)格式等限制,網(wǎng)站應(yīng)用如果想在瀏覽器端存儲用戶的部分信息,那么只能借助于Cookie。但是Cookie的這些限制,也就導(dǎo)致了Cookie只能存儲一些ID之類的標(biāo)識符等簡單的數(shù)據(jù)。

下面是Cookie的限制:

大多數(shù)瀏覽器支持最大為 4096 字節(jié)的 Cookie。

瀏覽器還限制站點可以在用戶計算機上存儲的 Cookie 的數(shù)量。大多數(shù)瀏覽器只允許每個站點存儲 20 個Cookie;如果試圖存儲更多 Cookie,則最舊的 Cookie 便會被丟棄。

有些瀏覽器還會對它們將接受的來自所有站點的 Cookie 總數(shù)作出絕對限制,通常為 300 個。

Cookie默認情況都會隨著Http請求發(fā)送到后臺服務(wù)器,但并不是所有請求都需要Cookie的,比如:js、css、圖片等請求則不需要Cookie。

為了破解Cookie的一系列限制,HTML5通過JS的新的API就能直接存儲大量的數(shù)據(jù)到客戶端瀏覽器,而且支持復(fù)雜的本地數(shù)據(jù)庫,讓JS更有效率。

html5支持兩種的WebStorage:

永久性的本地存儲(localStorage)

會話級別的本地存儲(sessionStorage)

1.2 永久性的本地存儲:localStorage

在最新的JS的API中增加了localStorage對象,便于用戶存儲永久存儲的Web端的數(shù)據(jù)。而且數(shù)據(jù)不會隨著Http請求發(fā)送到后臺服務(wù)器,而且存儲數(shù)據(jù)的大小基本不用考慮,因為在Html5的標(biāo)準(zhǔn)中要求瀏覽器至少要支持到4MB.所以,這完全是顛覆了Cookie的限制,為Web應(yīng)用在本地存儲復(fù)雜的用戶痕跡數(shù)據(jù)提供非常方便的技術(shù)支持。接下來就將介紹localStorage的常用的方法。

localStorage提供了四個方法來輔助我們進行對本地存儲做相關(guān)操作。

setItem(key,value)添加本地存儲數(shù)據(jù)。兩個參數(shù),非常簡單就不說了。

getItem(key)通過key獲取相應(yīng)的Value。

removeItem(key)通過key刪除本地數(shù)據(jù)。

clear()清空數(shù)據(jù)。

代碼如下:

<script type="text/javascript">
    //添加key-value 數(shù)據(jù)到 sessionStorage
    localStorage.setItem("demokey", "http://www.shiyanlou.com");
    //通過key來獲取value
    var dt = localStorage.getItem("demokey");
    alert(dt);
    //清空所有的key-value數(shù)據(jù)。
    //localStorage.clear();
    alert(localStorage.length);
</script>

1.3 會話級別的本地存儲:sessionStorage

在HTML5中增加了一個Js對象:sessionStorage;通過此對象可以直接操作存儲在瀏覽器中的會話級別的WebStorage。存儲在sessionStorage中的數(shù)據(jù)首先是Key-Value形式的,另外就是它跟瀏覽器當(dāng)前會話相關(guān),當(dāng)會話結(jié)束后,數(shù)據(jù)會自動清除,跟未設(shè)置過期時間的Cookie類似。

sessionStorage提供了四個方法來輔助我們進行對本地存儲做相關(guān)操作。

setItem(key,value)添加本地存儲數(shù)據(jù)。兩個參數(shù),非常簡單就不說了。

getItem(key)通過key獲取相應(yīng)的Value。

removeItem(key)通過key刪除本地數(shù)據(jù)。

clear()清空數(shù)據(jù)。

代碼如下:

<script type="text/javascript">
    //添加key-value 數(shù)據(jù)到 sessionStorage
    sessionStorage.setItem("demokey", "http://blog.itjeek.com");
    //通過key來獲取value
    var dt = sessionStorage.getItem("demokey");
    alert(dt);
    //清空所有的key-value數(shù)據(jù)。
    //sessionStorage.clear();
    alert(sessionStorage.length);
</script>

1.4 強大的本地數(shù)據(jù)

雖然HTML5已經(jīng)提供了功能強大的localStorage和sessionStorage,但是他們兩個都只能提供存儲簡單數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù),對于復(fù)雜的Web應(yīng)用的數(shù)據(jù)卻無能為力。逆天的是HTML5提供了一個瀏覽器端的數(shù)據(jù)庫支持,允許我們直接通JS的API在瀏覽器端創(chuàng)建一個本地的數(shù)據(jù)庫,而且支持標(biāo)準(zhǔn)的SQL的CRUD操作,讓離線的Web應(yīng)用更加方便的存儲結(jié)構(gòu)化的數(shù)據(jù)。接下里介紹一下本地數(shù)據(jù)的相關(guān)API和用法。

操作本地數(shù)據(jù)庫的最基本的步驟是:

第一步:openDatabase方法:創(chuàng)建一個訪問數(shù)據(jù)庫的對象。

第二步:使用第一步創(chuàng)建的數(shù)據(jù)庫訪問對象來執(zhí)行transaction方法,通過此方法可以設(shè)置一個開啟事務(wù)成功的事件響應(yīng)方法,在事件響應(yīng)方法中可以執(zhí)行SQL.

第三步:通過executeSql方法執(zhí)行查詢,當(dāng)然查詢可以是:CRUD。

接下來分別介紹一下相關(guān)的方法的參數(shù)和用法。

1.4.1 openDatabase方法

//Demo:獲取或者創(chuàng)建一個數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在那么創(chuàng)建之

var dataBase = openDatabase(“student”, “1.0”, “學(xué)生表”, 1024 * 1024, function () { }); 

openDatabase方法打開一個已經(jīng)存在的數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在,它還可以創(chuàng)建數(shù)據(jù)庫。幾個參數(shù)意義分別是:

數(shù)據(jù)庫名稱。

數(shù)據(jù)庫的版本號,目前來說傳個1.0就可以了,當(dāng)然可以不填;

對數(shù)據(jù)庫的描述。

設(shè)置分配的數(shù)據(jù)庫的大小(單位是kb)。

回調(diào)函數(shù)(可省略)。

初次調(diào)用時創(chuàng)建數(shù)據(jù)庫,以后就是建立連接了。

1.4.2 db.transaction方法

可以設(shè)置一個回調(diào)函數(shù),此函數(shù)可以接受一個參數(shù)就是我們開啟的事務(wù)的對象。然后通過此對象可以執(zhí)行SQL腳本。

1.4.3 executeSql方法執(zhí)行查詢
 

ts.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler) 

參數(shù)說明:

qlQuery:需要具體執(zhí)行的sql語句,可以是create、select、update、delete;

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

dataHandler:執(zhí)行成功時調(diào)用的回調(diào)函數(shù),通過該函數(shù)可以獲得查詢結(jié)果集;

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

1.5 綜合實例

<head>
 <script src="Scripts/jquery-1.5.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        function initDatabase() {
            var db = getCurrentDb();//初始化數(shù)據(jù)庫
            if(!db) {alert("您的瀏覽器不支持HTML5本地數(shù)據(jù)庫");return;}
            db.transaction(function (trans) {//啟動一個事務(wù),并設(shè)置回調(diào)函數(shù)
                //執(zhí)行創(chuàng)建表的Sql腳本
                trans.executeSql("create table if not exists Demo(uName text null,title text null,words text null)", [], function (trans, result) {
                }, function (trans, message) {//消息的回調(diào)函數(shù)alert(message);});
            }, function (trans, result) {
            }, function (trans, message) {
            });
        }
        $(function () {//頁面加載完成后綁定頁面按鈕的點擊事件
            initDatabase();
            $("#btnSave").click(function () {
                var txtName = $("#txtName").val();
                var txtTitle = $("#txtTitle").val();
                var txtWords = $("#txtWords").val();
                var db = getCurrentDb();
                //執(zhí)行sql腳本,插入數(shù)據(jù)
                db.transaction(function (trans) {
                    trans.executeSql("insert into Demo(uName,title,words) values(?,?,?) ", [txtName, txtTitle, txtWords], function (ts, data) {
                    }, function (ts, message) {
                        alert(message);
                    });
                });
                showAllTheData();
            });
        });
        function getCurrentDb() {
            //打開數(shù)據(jù)庫,或者直接連接數(shù)據(jù)庫參數(shù):數(shù)據(jù)庫名稱,版本,概述,大小
            //如果數(shù)據(jù)庫不存在那么創(chuàng)建之
            var db = openDatabase("myDb", "1.0", "it's to save demo data!", 1024 * 1024); ;
            return db;
        }
        //顯示所有數(shù)據(jù)庫中的數(shù)據(jù)到頁面上去
        function showAllTheData() {
            $("#tblData").empty();
            var db = getCurrentDb();
            db.transaction(function (trans) {
                trans.executeSql("select * from Demo ", [], function (ts, data) {
                    if (data) {
                        for (var i = 0; i < data.rows.length; i++) {
                            appendDataToTable(data.rows.item(i));//獲取某行數(shù)據(jù)的json對象
                        }
                    }
                }, function (ts, message) {alert(message);var tst = message;});
            });
        }
        function appendDataToTable(data) {//將數(shù)據(jù)展示到表格里面
            //uName,title,words
            var txtName = data.uName;
            var txtTitle = data.title;
            var words = data.words;
            var strHtml = "";
            strHtml += "<tr>";
            strHtml += "<td>"+txtName+"</td>";
            strHtml += "<td>" + txtTitle + "</td>";
            strHtml += "<td>" + words + "</td>";
            strHtml += "</tr>";
            $("#tblData").append(strHtml);
        }
    </script>
</head>
    <body>
        <table>
            <tr>
                <td>用戶名:</td>
                <td><input type="text" name="txtName" id="txtName" required/></td>
            </tr>
               <tr>
                <td>標(biāo)題:</td>
                <td><input type="text" name="txtTitle" id="txtTitle" required/></td>
            </tr>
            <tr>
                <td>留言:</td>
                <td><input type="text" name="txtWords" id="txtWords" required/></td>
            </tr>
        </table>
        <input type="button" value="保存" id="btnSave"/>
        <hr/>
        <input type="button" value="展示所喲數(shù)據(jù)" onclick="showAllTheData();"/>
        <table id="tblData">
        </table>
    </body>
</html>

總結(jié)

以上所述是小編給大家介紹的HTML5本地存儲和本地數(shù)據(jù)庫實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:酒泉 西寧 十堰 佳木斯 咸寧 南京 淮安 廣西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5本地存儲和本地數(shù)據(jù)庫實例詳解》,本文關(guān)鍵詞  HTML5,本地,存儲,和,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5本地存儲和本地數(shù)據(jù)庫實例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5本地存儲和本地數(shù)據(jù)庫實例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美电影在线免费观看| 日韩中文字幕av电影| 色悠悠久久综合| 欧美中文字幕一区二区三区亚洲| 色综合久久久久| 欧美在线综合视频| 日韩欧美视频一区| 91福利国产精品| 欧美一级久久久| 国产肉丝袜一区二区| 精久久久久久久久久久| 91亚洲国产成人精品一区二区三| 欧美性大战久久| 国产欧美视频在线观看| 亚洲一区二区不卡免费| 亚洲一二三专区| 秋霞影院一区二区| 91精品中文字幕一区二区三区| 欧美美女网站色| 亚洲午夜精品网| 欧美日韩一区三区| 亚洲精品视频一区| 在线精品视频一区二区三四| 国产情人综合久久777777| 日韩国产在线一| 正在播放一区二区| 天堂va蜜桃一区二区三区| kk眼镜猥琐国模调教系列一区二区| 欧美精品一区二区三| 成人午夜电影小说| 亚洲自拍与偷拍| 91免费国产在线| 亚洲综合在线视频| 99国产精品久久久| 五月婷婷久久综合| 久久精品免视看| 91超碰这里只有精品国产| 看片的网站亚洲| 久久久99久久| 26uuu国产电影一区二区| 污片在线观看一区二区| 国产乱码字幕精品高清av| av一区二区三区| 久久久综合激的五月天| 国产偷国产偷精品高清尤物| 欧美午夜精品一区二区蜜桃| 亚洲精品日日夜夜| 在线免费观看日韩欧美| 亚洲免费视频成人| 91福利精品视频| 日韩成人dvd| 欧美r级在线观看| 高清不卡在线观看av| 亚洲一区二区视频在线| 欧美www视频| av成人老司机| 日韩av午夜在线观看| 精品精品欲导航| 成人国产精品视频| 一区二区三区.www| 精品国产免费一区二区三区香蕉| proumb性欧美在线观看| 亚洲v日本v欧美v久久精品| 欧美mv日韩mv国产网站app| 成人精品一区二区三区四区| 午夜视频一区二区| 国产精品高潮呻吟| 欧美肥胖老妇做爰| 波波电影院一区二区三区| 日av在线不卡| 一区二区三区在线影院| 久久精品一区二区三区av| 欧美日韩亚洲综合在线| 北条麻妃一区二区三区| 久久精品国产精品青草| 亚洲欧美日韩一区二区三区在线观看| 欧美一区二区不卡视频| 99re在线精品| 国产剧情一区二区三区| 五月激情六月综合| 亚洲激情自拍视频| 日本一区二区三区在线观看| 日韩午夜精品电影| 欧美日韩精品免费观看视频| 99精品欧美一区二区蜜桃免费| 久久国产尿小便嘘嘘| 亚洲va欧美va天堂v国产综合| 国产精品福利一区二区三区| 久久亚洲一区二区三区四区| 欧美一区二区三区日韩视频| 欧美亚洲精品一区| 色综合天天综合色综合av| 国产一区二区免费视频| 久久疯狂做爰流白浆xx| 天堂蜜桃一区二区三区| 亚洲国产综合色| 亚洲欧洲日产国码二区| 5月丁香婷婷综合| 欧美人牲a欧美精品| 91精品办公室少妇高潮对白| 91丨porny丨户外露出| 成人av中文字幕| www.日韩精品| 91免费观看在线| 99re热这里只有精品免费视频 | 日韩一级片网站| 51久久夜色精品国产麻豆| 在线观看不卡视频| 欧美最新大片在线看| 色婷婷亚洲精品| 在线精品观看国产| 欧美午夜电影网| 欧美日韩精品免费观看视频| 欧美日韩你懂的| 欧美一区午夜视频在线观看| 日韩一区二区精品| 精品福利一区二区三区| 国产午夜亚洲精品午夜鲁丝片 | 欧美疯狂做受xxxx富婆| 日韩免费成人网| 日韩免费观看高清完整版| 欧美一区二区三区免费在线看 | 成人av综合在线| 欧美美女视频在线观看| 国产欧美日本一区二区三区| 国产99久久久久久免费看农村| 国产精品99久久久久久似苏梦涵| 国产盗摄一区二区| 国产精品69久久久久水密桃| 亚洲天堂免费在线观看视频| 青青青伊人色综合久久| 成人免费视频国产在线观看| 亚洲欧洲色图综合| 国产综合色产在线精品| 色视频成人在线观看免| 亚洲国产高清在线观看视频| 亚洲色图19p| 亚洲欧洲日产国产综合网| 亚洲欧美成人一区二区三区| 精品国产91洋老外米糕| 日韩一区在线看| 国产激情精品久久久第一区二区| 狠狠色丁香婷婷综合久久片| 欧美美女一区二区| 免费日本视频一区| 色综合久久久久网| 欧美亚洲动漫精品| 国产精品人人做人人爽人人添 | 欧美日韩国产一二三| 美女一区二区三区| 中文字幕在线观看不卡| 色八戒一区二区三区| 国产成人综合在线观看| 亚洲v精品v日韩v欧美v专区| 欧美一区二区三区白人| 欧美性感一区二区三区| 欧美成人a在线| 日日摸夜夜添夜夜添精品视频| 暴力调教一区二区三区| 国产精品入口麻豆九色| 色呦呦日韩精品| 亚洲综合另类小说| 欧美日韩色综合| 懂色一区二区三区免费观看| 日韩成人一区二区| 亚洲一区二区三区四区在线| 日韩女优视频免费观看| caoporen国产精品视频| 91麻豆.com| 亚洲高清免费一级二级三级| 久久精品亚洲精品国产欧美| 色8久久人人97超碰香蕉987| 久久国产剧场电影| 精品国产乱码久久久久久1区2区| 成人激情av网| 欧美成人综合网站| 成人亚洲精品久久久久软件| 亚洲影院免费观看| 国产精品色噜噜| 欧美在线观看18| 首页综合国产亚洲丝袜| 国产情人综合久久777777| 日韩午夜在线观看视频| 日韩免费电影网站| 久久久久国产一区二区三区四区| 日韩—二三区免费观看av| 欧美日韩成人综合天天影院| 日韩中文字幕亚洲一区二区va在线| 久久久久久久国产精品影院| 韩国一区二区三区| 亚洲一区二区三区自拍| 欧美日韩一二三| 成人免费观看男女羞羞视频| 亚洲午夜久久久久中文字幕久| 欧美一区二区三区爱爱| 欧美精品国产精品| 欧美综合色免费| 久久精品99久久久| 一区二区理论电影在线观看| 亚洲天堂免费在线观看视频|