国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Web Storage設(shè)計(jì)的留言冊(cè)

2018-01-04 10:59王炳鵬
電腦知識(shí)與技術(shù) 2018年28期

王炳鵬

摘要:HTML4的存儲(chǔ)機(jī)制是利用cookies進(jìn)行,但cookies存儲(chǔ)機(jī)制存在很多缺點(diǎn),HTML5轉(zhuǎn)而使用Web Storage存儲(chǔ)機(jī)制。本文利用Web Storage設(shè)計(jì)實(shí)現(xiàn)一個(gè)留言冊(cè)。

關(guān)鍵詞:HTML5;Web Storage;Local Storage

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)28-0072-01

Design of Message Book Based on Web Storage

WANG Bing-peng

(The Department of Information Processing and Control Engineering, Lanzhou Petrochemical Polytechnic, Lanzhou 730060, China)

Abstract:The storage mechanism of HTML4 is using cookies, but there are many shortcomings in the cookies. HTML5 uses the Web Storage instead. This article uses Web Storage to design and implement a message book.

Key words:HTML5; Web Storage; Local Storage

1 Web Storage概述

Web應(yīng)用的飛速發(fā)展,使得客戶端存儲(chǔ)數(shù)據(jù)的需要越來越多。最簡單且兼容性最佳的存儲(chǔ)數(shù)據(jù)方式是cookies,在HTML4中普遍應(yīng)用。但cookies也存在不足,存儲(chǔ)數(shù)據(jù)的大小限制在4KB,存儲(chǔ)空間狹小;隨HTTP請(qǐng)求一起發(fā)送,占用帶寬,速度慢且效率不高;操作起來比較煩瑣,所有信息要被拼接到一個(gè)長字符串里。

HTML5重新提供了一種在客戶端本地保存數(shù)據(jù)的功能,即Web Storage。包含兩種的存儲(chǔ)類型:Session Storage和Local Storage,都支持在同域下存儲(chǔ)5MB1。

Session Storage將數(shù)據(jù)保存在session對(duì)象中。這種存儲(chǔ)被稱為會(huì)話存儲(chǔ),因?yàn)橹辉谟脩暨M(jìn)入網(wǎng)站到關(guān)閉瀏覽器的時(shí)間段中保存要求保存的任何數(shù)據(jù),網(wǎng)站關(guān)閉后,數(shù)據(jù)被刪除。Local Storage是將數(shù)據(jù)保存在客戶端本地的硬件設(shè)備中,即使瀏覽器關(guān)閉了,數(shù)據(jù)仍然存在,下次打開瀏覽器訪問網(wǎng)站時(shí)仍然可以繼續(xù)使用。不同的網(wǎng)站,數(shù)據(jù)存儲(chǔ)于不同的區(qū)域,且一個(gè)網(wǎng)站只能訪問其自身的數(shù)據(jù)。Web Storage保存數(shù)據(jù)時(shí),數(shù)據(jù)必須是“鍵名/鍵值”的格式,并使用JavaScript來存儲(chǔ)和訪問數(shù)據(jù)。

2 留言冊(cè)分析

留言冊(cè)設(shè)計(jì)實(shí)現(xiàn)的功能是用戶輸入留言,單擊“添加”按鈕時(shí)將留言保存到Local Storage中,同時(shí)查看以往留言,以及留言的時(shí)間日期。單擊“刪除”可以進(jìn)行留言清空的操作。

根據(jù)基本功能的要求,在頁面上需要添加多行文本框控件以方便用戶輸入留言,還需要兩個(gè)按鈕控件分別實(shí)現(xiàn)“添加”和“刪除”的功能。最后需要顯示以往的留言數(shù)據(jù)和留言的時(shí)間,初步確定以表格方式顯示。所以,初步分析,留言冊(cè)的實(shí)現(xiàn)需要這樣的幾個(gè)步驟:1)在頁面中放置留言冊(cè)所需的各種控件;2)設(shè)計(jì)實(shí)現(xiàn)留言冊(cè)的功能。除此之外,還要注意,瀏覽器是否支持Web Storage。

3 具體實(shí)現(xiàn)

3.1 測(cè)試瀏覽器是否支持Web Storage

Web Storage在各大主流瀏覽器中都得到支持了,但考慮到兼容老版本的瀏覽器,還要檢查一下是否可以使用這項(xiàng)技術(shù)??梢酝ㄟ^檢查Storage對(duì)象是否存在的方式來進(jìn)行,即typeof(Storage)!=”undefined”。

3.2 實(shí)現(xiàn)留言本頁面效果

首先用HTML代碼實(shí)現(xiàn)網(wǎng)頁中的留言冊(cè)涉及的各種控件??紤]到留言冊(cè)的基本功能,需要使用多行文本框,顯示數(shù)據(jù)用的表格,以及“添加”與“清除”按鈕,通過單擊“添加”按鈕來保存數(shù)據(jù),單擊“清除”按鈕來清除以往的全部數(shù)據(jù)。

3.3 保存數(shù)據(jù)

在Javascript腳本中,編寫單擊按鈕時(shí)調(diào)用的函數(shù),將得到的時(shí)間作為鍵名,并將文本框中的數(shù)據(jù)作為鍵值保存。完畢后,重新調(diào)用腳本中的loadStorage 函數(shù)在頁面上顯示保存后的數(shù)據(jù)。關(guān)鍵代碼是:

var data = document.getElementById(id).value;

var time = new Date().getTime();

localStorage.setItem(time,data);

(下轉(zhuǎn)第77頁)

(上接第72頁)

3.4 顯示數(shù)據(jù)

以表格方式顯示數(shù)據(jù),需要用到loadStorage的兩個(gè)屬性length和key(index),length表示獲取所有保存在loadStorage中的數(shù)據(jù)的條數(shù),key(index)表示將想要得到數(shù)據(jù)的索引號(hào)作為index參數(shù)傳入,可以得到loadStorage中與這個(gè)索引號(hào)對(duì)應(yīng)的數(shù)據(jù)。使用循環(huán)獲取保存在loadStorage中的數(shù)據(jù)。關(guān)鍵代碼如下:

for(var i = 0;i < localStorage.length;i++)

{ var key = localStorage.key(i);

var value = localStorage.getItem(key);

var date = new Date();

date.setTime(key);

var datestr = date.toGMTString();

}

3.5 清除數(shù)據(jù)

調(diào)用clearStorage函數(shù)對(duì)數(shù)據(jù)進(jìn)行全部清除。

4 總結(jié)

Web Storage為每個(gè)域提供了獨(dú)立的存儲(chǔ)空間,不會(huì)造成數(shù)據(jù)混亂;存儲(chǔ)空間更大;存儲(chǔ)內(nèi)容不會(huì)發(fā)送到服務(wù)器,不與服務(wù)器發(fā)生任何交互,節(jié)省了帶寬;提供了更加豐富的接口;數(shù)據(jù)操作更加簡便。

參考文獻(xiàn):

[1] 馮永亮.HTML5本地?cái)?shù)據(jù)存儲(chǔ)技術(shù)研究[J].西安文理學(xué)院學(xué)報(bào):自然科學(xué)版,2014,17(3):66-69.

【通聯(lián)編輯:光文玲】

洛宁县| 敦化市| 五指山市| 丹凤县| 潮州市| 卢龙县| 婺源县| 社会| 武汉市| 安塞县| 内丘县| 南京市| 如皋市| 长宁县| 天水市| 顺义区| 正镶白旗| 永嘉县| 房产| 伊宁市| 武山县| 化州市| 许昌县| 江都市| 朝阳区| 云阳县| 寿光市| 邢台县| 潍坊市| 木里| 自治县| 故城县| 寻乌县| 区。| 繁昌县| 定安县| 民和| 西华县| 南川市| 烟台市| 托克托县|