IndexedDB
1.IndexedDB的兼容性与特点
1.1 IndexedDB兼容性
可以观察到除了IE11仅部分支持外,其他浏览器的最新版都已经支持。可见兼容性比Web SQL好,估计也会得到更好的支持的。
1.2 IndexedDB特点
IndexedDB是为了能够在客户端存储大量的结构化数据,并且使用索引高效检索的API(异步API)
因为异步操作,需要特别注意(并不是这条指令执行完毕,我们就可以使用request.result来获取indexedDB对象)。下文也会做出分析。
2. IndexedDB 的基本使用
2.1 判断浏览器是否支持 IndexedDB
//定义一个命名空间
var store = {};
//测试浏览器是否支持
store.isSupport = function(){
window.indexedDB = window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
if(!window.indexedDB)
{
console.log("你的浏览器不支持IndexedDB");
return false;
}else{
console.log("你的浏览器支持IndexedDB");
}
};
2.2 打开/创建/更新 本地数据库
注意:当本地不存在此数据库 或 建立版本不一致 时,会调用onupgradeneeded事件
//打开IndexedDB数据库
store.open = function(name,version,storeName){
//第一个参数是数据库的名称,第二个参数是数据库的版本号
var request = window.indexedDB.open(name, version);
request.onerro