[摘要]window.webkitIndexedDB, // 获取 indexedDBrequest,store,database,users = [{username: "007",f...
window.webkitIndexedDB, // 获取 indexedDB
request,
store,
database,
users = [
{
username: "007",
firstName: "James",
lastName: "Bond",
password: "foo"
},
{
username: "ace",
firstName: "John",
lastName: "Smith",
password: "bar"
}
];
// 打开数据库
request = indexedDB.open("example");
// 注册 onerror 及 onsuccess 事件
request.onerror = function (event) {
alert("Something bad happened while trying to open: " + event.target.errorCode);
};
request.onsuccess = function (event) {
database = event.target.result;
// 操作数据库
initializeDatabase();
};
function initializeDatabase() {
if (database.version != "1.0") {
// 设置数据库版本号
request = database.setVersion("1.0");
request.onerror = function (event) {
alert("Something bad happened while trying to set version: " + event.target.errorCode);
};
request.onsuccess = function (event) {
// 使用 users 创建对象存储空间
store = database.createObjectStore("users", {keyPath: "username"});
var i = 0,
len = users.length;
while (i < len) {
// 插入新值
store.add(users[i++]);
}
alert("Database initialized for first time. Database name: " + database.name + ", Version: " + database.version);
};
} else {
alert("Database already initialized. Database name: " + database.name + ", Version: " + database.version);
// transaction() 创建事务,objectStore() 将存储空间传入事务
request = database.transaction("users").objectStore("users").get("007");
request.onsuccess = function (event) {
alert(event.target.result.firstName);
};
}
}
限制
和 Web Storage类似,只能由同源(相同协议、域名和端口)页面操作,因此不能跨域共享信息。
Firefox 大小上限为 50M,移动端的 Firefox 大小上限为 5M,不允许本地文件访问。
Chrome 大小上限为 5M,允许本地文件访问。
以上就是HTML5离线应用与客户端存储的实现的详细内容,更多请关注php中文网其它相关文章!
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。
关键词:HTML5离线应用与客户端存储的完成