欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

web基于瀏覽器的本地存儲(chǔ)方法應(yīng)用

 更新時(shí)間:2012年11月27日 15:24:48   作者:  
在客戶端存儲(chǔ)數(shù)據(jù)時(shí),我們一般都用cookie(不敏感數(shù)據(jù)),但是在客戶端越來(lái)越富的今天,cookie可存儲(chǔ)的量(每個(gè)域最大4k)實(shí)在是小,已經(jīng)滿足不了我們的需求
在客戶端存儲(chǔ)數(shù)據(jù)時(shí),我們一般都用cookie(不敏感數(shù)據(jù)),但是在客戶端越來(lái)越富的今天,cookie可存儲(chǔ)的量(每個(gè)域最大4k)實(shí)在是小。
在HTML5中有l(wèi)ocalStorage可使用,但是這就拋棄了IE8-。為了兼容,我們可以翻出IE很久以前就搞的一個(gè)存儲(chǔ)方法:
給一個(gè)元素添加一個(gè)特殊的樣式url(#default#userData),之后就可以通過(guò)setAttribute和getAttribute來(lái)存取鍵值對(duì)形式的數(shù)據(jù)了。
要注意的一點(diǎn)就是在數(shù)據(jù)改變后要使用save方法,而數(shù)據(jù)加載初期要load。
接下來(lái)就貼上使用方法,當(dāng)使用的瀏覽器支持HTML5時(shí),就使用localStorage。
復(fù)制代碼 代碼如下:

var localStorage = (function(db) {
if (typeof db.clear == "function") {
return db;
}
var database = document.createElement("div")
database.id = "database";
database.style.behavior = "url(#default#userData)";
document.body.appendChild(database);
database.load("DataStore");
return {
setItem: function(key, val) {
database.setAttribute(key, val);
database.save("DataStore");
}
, getItem: function(key) {
return database.getAttribute(key);
}
, removeItem: function(key) {
database.removeAttribute(key);
database.save("DataStore");
}
};
} (localStorage || {}));

不過(guò)就算兼容了 還是會(huì)有問(wèn)題存在,例如在IE上存儲(chǔ)的信息,通過(guò)Chrome打開(kāi)時(shí)就獲取不到了。

相關(guān)文章

最新評(píng)論