问题见代码。。。。

来源:3-3 indexDB(3)

慕莱坞1501479

2019-11-01 23:08:27

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

   储存数据:<input type="" name="" id="need">

   储存时间:<input type="" name="" id="timer">

   <button id="btn">保存</button>

   数据展示:<span id="span">暂无数据</span>

          

<script type="text/javascript">

if(new Date().getMinutes()>=localStorage.timer){

localStorage.clear();   //new Date().getMinutes()获取当前的分钟

}

else{

if(localStorage.leo){

span.innerHTML=localStorage.leo;

}

}

 btn.onclick=function(){

  localStorage.setItem("leo",need.value);

  localStorage.setItem("timer",new Date().getMinutes()+Number(timer.value));

  span.innerHTML=localStorage.leo;

 } 

//数据库

 var request=indexedDB.open("test",4);//如果有数据库,就打开,没有就创建,版本号只能往上走,不能下降


console.log(request);

 request.onsuccess=function(){  //onsuccess创建或打开成功

  console.log("数据库创建成功");

 } 

 request.onerror=function(){   //onerror打开失败(版本号不能降低)

  console.log("数据库读取失败");

 }  

request.onupgradeneeded=function(){

console.log("版本号升级了");//版本升级时触发的函数

    var db=request.result;

    db.createObjectStore("test2",{keyPath:"id"});//创建表

}                          //设置自增主键{autoIncrement:true}

var json=[{

"id":1001,

"name":"leo",

"age":18

},{"id":1002,

"name":"sky",

"age":19},

{"id":1003,

"name":"blue",

"age":20},]


setTimeout(function(){

db=request.result;

var transaction=db.transaction("test2","readwrite");//以读写方式打开表

var store=transaction.objectStore("test2");//打开具体的哪个表



/*for(var i=0;i<json.length;i++){

store.add(json[i]); } //将数据添加入表中*/  /*老师,我把这个for循环像视频中一样注释掉,就能后面的                                                                                         console.log(requestNode)就能打印出来,不注释就不                                                                                    能 打印出来,这是为什么呢*/

var requestNode=store.get(1001);

requestNode.onsuccess=function(){

console.log(requestNode);}

},300)


写回答

2回答

慕侠97781

2019-11-02

这个应该是和浏览器机制有关系的。

indexedDB因为其存储空间大,几乎没有存储上限。

工作中一般会用后台数据库的,这个东西可以作为了解

0

慕莱坞1501479

提问者

2019-11-01

老师,还有这IndexedDB这种数据库有储存时间和容量限制的吗

0

0 学习 · 6815 问题

查看课程

相似问题