摘 要:本文主要介紹實(shí)現(xiàn)圖書館網(wǎng)站個(gè)性化的一套方案,即利用HTML5的本地存儲(chǔ)[1](LocalStorage)特性。同時(shí),對(duì)于那些不支持本地存儲(chǔ)的瀏覽器(如IE6),本文也進(jìn)行了一些探討,并給出能夠?qū)崿F(xiàn)類似于本地存儲(chǔ)功能的替代方案。
關(guān)鍵詞:HTML5 本地存儲(chǔ) LocalStorage 個(gè)性化 書簽
中圖分類號(hào):G71 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2013)04(b)-0253-01
所謂的網(wǎng)站個(gè)性化,是指網(wǎng)站能夠記住不同用戶的信息(如瀏覽記錄或最近一次登錄時(shí)間及地點(diǎn)等)或者用戶能夠根據(jù)自身喜好定制網(wǎng)站(如決定網(wǎng)站首頁顯示哪些內(nèi)容等)。一些購物網(wǎng)站,如卓越亞馬遜網(wǎng),能夠記住用戶的圖書瀏覽歷史,提醒用戶可能感興趣的圖書有哪些。
要實(shí)現(xiàn)網(wǎng)站的個(gè)性化,關(guān)鍵是如何存儲(chǔ)用戶的個(gè)性化信息。幸運(yùn)的是,我們現(xiàn)在可以使用HTML5的本地存儲(chǔ)來將信息以鍵值對(duì)的形式保存在本地計(jì)算機(jī)中。這樣,當(dāng)用戶再次訪問網(wǎng)站時(shí),瀏覽器會(huì)在需要時(shí)將信息從用戶本地計(jì)算機(jī)中取出來供前端程序使用。
可以看到,在存儲(chǔ)數(shù)據(jù)及獲取數(shù)據(jù)的過程中,都是在前端進(jìn)行,并且無論用戶離開站點(diǎn)或關(guān)閉瀏覽器,存儲(chǔ)的數(shù)據(jù)都不會(huì)消失。
不過,要使用HTML5的本地存儲(chǔ),需要有支持該特性的瀏覽器。目前,大多數(shù)瀏覽器的最新版本都支持本地存儲(chǔ)。對(duì)于那些不支持本地存儲(chǔ)的瀏覽器(如IE6)而言,可以使用其它本地存儲(chǔ)技術(shù)(如Cookie或IE專有的UserData[2])進(jìn)行替換。
1 檢查瀏覽器兼容性
4 清空數(shù)據(jù)
書簽并不是永久存在的,當(dāng)用戶覺得不再需要書簽時(shí),他們會(huì)刪除某些書簽或清空書簽夾。如果要?jiǎng)h除某一書簽,可以使用localStorage.removeItem(key);形式的代碼。如果要清空書簽夾,可以使用localStorage.clear();形式的代碼。
刪除書簽或清空書簽是必要的,因?yàn)闉g覽器的本地存儲(chǔ)空間是有限的。定期清理瀏覽器的本地存儲(chǔ)空間可以使得其它程序合理的利用存儲(chǔ)空間。
值得一提的是,HTML5的本地存儲(chǔ)并不像Cookie那樣可以設(shè)置自動(dòng)定期清理,這意味著除非手動(dòng)清理瀏覽器,否則數(shù)據(jù)將永遠(yuǎn)存儲(chǔ)在用戶的計(jì)算機(jī)中。鑒于這一點(diǎn),在編寫HTML5本地存儲(chǔ)應(yīng)用時(shí),一定要記得提供刪除或清空存儲(chǔ)數(shù)據(jù)的功能。
5 參考文獻(xiàn)
[1] Peter Lubbers,Brian Albers,F(xiàn)rank Salim,著.HTML5高級(jí)程序設(shè)計(jì)[M].李杰,柳靖,劉淼,譯.北京:人民郵電出版社,2011,1(175).
[2] Mark Pilgrim,著.HTML5揭秘[M].??桑鹌?,趙靜,譯.北京:電子工業(yè)出版社,2010,12(128).