Storage 存储机制是通过字符串形式的 key/value 对来存储的,因此,其基本语法可以定义为:
// 设置 key 值
ojb_Storage.key = value; // 获取 key 值
value = ojb_Storage.key;
它还有一些方法和属性用来实现更加强大的功能。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>范例</title>
</head>
<body>
<button
onclick="javascript:setItem('user',
'zhang-yafei');"
>
设置 user 键
</button>
<button onclick="javascript:getItem('user');">显示 user 键的值</button>
<button onclick="javascript:removeItem('user');">删除 user 键</button>
<div
id="myDiv"
style="background:#EEE;width:315px;min-height:50px; padding:10px;border:2px #ccc dashed;"
></div>
<script>
// // 定义事件函数,监听存储区域变化 function
storageHandler(event) {
var myDiv = document.getElementById("myDiv");
myDiv.innerHTML = " 存储发生了变化: <b> " + event.key +
"</b>键改变了 旧值 <b> " + event.oldValue +
"</b>被改变为为新值 <b> " +
event.newValue + "</b> 发生更改所在的网址: <b> " +
event.url + "</b> "
}
window.onstorage =
storageHandler;
// 定义当前域
var strDomain = "127.0.0.1";
var oStorage;
try {
// 获取存储区域
oStorage = window.localStorage
? window.localStorage : window.globalStorage[strDomain];
} catch (err) {
alert(err.message ? err.message : err.toString());
}
// 定义 3 个函数,分别用来执行创建键、显示键值和删除键操作
function setItem(key, value) {
oStorage.setItem(key, value); alert("DOM Storage:" + key + " = " +
value); }
function getItem(key) { var myDiv = document.getElementById("myDiv");
myDiv.innerHTML = oStorage.getItem(key); }
function removeItem(key) {
oStorage.removeItem(key)
alert(" 键 " + key + " 被删除了 ");
}
</script>
</body>
</html>
存储数据的方法就是直接给 window.localStorage 添加一个属性,例如: window.localStorage.a
或者 window.localStorage["a"]
。它的读取、写、删除操作方法很简单,是以键值对的方式存在的。 使用 getItem()
和
setItem()
,如需清除键值对时可使用 removeItem()
,如需一次性清除所有的键值对,可以使用 clear()
。另外, HTML 5 还提供了一个 key() 方法,可以在不知道有哪些键值的时候使用。 API 测试方法包括 setItem(key,value)
、 removeItem(key)
、 getItem(key)
、 clear()
和 key(index)
,属性包括 length
和 remainingSpace
(非标准)。不过存储数据时可以简单地使用
localStorage.key=value
的方式。
在使用 sessionStorage 或 localStorage 对象的文档中,可以通过 window 对象来获取它们。除了名字和数据的生命周期外,它们的功能完全相同。
interface Storage {
readonly attribute unsigned long length;
getter DOMString key(in unsigned long index);
getter any getItem(in DOMString key);
setter creator void setItem(in DOMString key, in any data);
delete void removeItem(in DOMString key); void clear(); };
具体说明