校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > html5 初試 indexedDB(推薦)

html5 初試 indexedDB(推薦)

熱門標簽:飛亞外呼系統 電視購物電銷外呼系統 貸款電銷人工和機器人哪個好 杭州營銷電銷機器人供應商 聯通400電話申請 電話機器人如何 高德地圖標注賓館位置 百應電銷機器人產業 西寧智能外呼系統加盟

indexedDB是存儲大量結構化數據的API,demo中用到的是異步API,麻煩的就是所有對indexedDB的操作都會發生一個異步的‘請求’,只要熟悉了API操作起來也很簡單。

大體流程是這樣

1.打開數據庫

JavaScript Code復制內容到剪貼板
  1. var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;   
  2.   
  3. if ('webkitIndexedDB' in window) {   
  4.     window.IDBTransaction = window.webkitIDBTransaction;   
  5.     window.IDBKeyRange = window.webkitIDBKeyRange;   
  6. }   
  7. //這個就不解釋了   
  8.   
  9. var request = indexedDB.open("adsageIDB");  //open  : indexedDB只有這一個方法  打開(數據庫名)   
  10. request.onsuccess = function(e) { //異步   
  11.     var v = "1.00";   
  12.     var db = e.target.result;   
  13.   
  14.     if (v!= db.version) {   
  15.         var setVrequest = db.setVersion(v);   
  16.         setVrequest.onsuccess = function(e) { //異步   
  17.             if(db.objectStoreNames.contains("todo")) {   
  18.                 db.deleteObjectStore("todo");   
  19.             }   
  20.             var store = db.createObjectStore("todo", {keyPath: "adsid"});//onsuccess 后創建ObjectStore  暫時用到兩個參數,數據庫&&主鍵   
  21.         }   
  22.     }       
  23. }  

這樣就 創建/連接 了一個數據庫

2.創建交互對象 && 監聽dom事件 && 處理數據

然后就是要操作數據庫了

JavaScript Code復制內容到剪貼板
  1. //插入數據 暫時只插入一列    
  2. var trans = db.transaction(["todo"], IDBTransaction.READ_WRITE);//創建transaction    
  3. var store = trans.objectStore("todo");//創建Store   
  4. //要操作數據必須建立transaction 和 Store   
  5.   
  6. var data = {   
  7.     "text": todoText,   
  8.     "adsid"new Date().getTime()   
  9. };//一個小數據 adsid是主鍵   
  10.   
  11. var request = store.put(data); //‘強行’插入   
  12.   
  13. request.onsuccess = function(e) {   
  14.     //成功后執行一些操作   
  15. };   
  16.   
  17. request.onerror = function(e) {   
  18.     console.log("Error Adding: ", e);   
  19. };  
JavaScript Code復制內容到剪貼板
  1. //讀取數據   
  2. var trans = db.transaction(["todo"], IDBTransaction.READ_WRITE);   
  3. var store = trans.objectStore("todo");   
  4.   
  5. var keyRange = IDBKeyRange.lowerBound(0);   
  6. var cursorRequest = store.openCursor(keyRange);   
  7. //這里用到指針cursor ,openCursor的參數 keyRange是遍歷范圍 還可以添加遍歷方向參數   
  8. //另一種方法是get() 這個就比較簡單了直接store.get('鍵值')就行   
  9.   
  10. cursorRequest.onsuccess = function(e) {   
  11.     var result = e.target.result;   
  12.     if(!!result == false)   
  13.     return;   
  14.   
  15.     console.log(result.value);   
  16.     result.continue(); //循環讀取所有數據   
  17. };  
JavaScript Code復制內容到剪貼板
  1. //刪除數據   
  2. ...   
  3. store.delete('鍵值')   
  4. ...  

出了一個小demo

XML/HTML Code復制內容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3.   <head>  
  4.     <script>  
  5.       var indexedDB = window.indexedDB || window.webkitIndexedDB ||   
  6.                       window.mozIndexedDB;   
  7.          
  8.       if ('webkitIndexedDB' in window) {   
  9.         windowwindow.IDBTransaction = window.webkitIDBTransaction;   
  10.         windowwindow.IDBKeyRange = window.webkitIDBKeyRange;   
  11.       }   
  12.          
  13.       adsageIDB = {};   
  14.       adsageIDB.db = null;   
  15.          
  16.       adsageIDB.onerror = function(e) {   
  17.         console.log(e);   
  18.       };   
  19.          
  20.       adsageIDB.open = function() {   
  21.         var request = indexedDB.open("adsageIDB");   
  22.          
  23.         request.onsuccess = function(e) {   
  24.           var v = "1.00";   
  25.           adsageIDB.db = e.target.result;   
  26.           var db = adsageIDB.db;   
  27.   
  28.           if (v!= db.version) {   
  29.             var setVrequest = db.setVersion(v);   
  30.          
  31.             setVrequest.onerror = adsageIDB.onerror;   
  32.             setVrequest.onsuccess = function(e) {   
  33.               if(db.objectStoreNames.contains("todo")) {   
  34.                 db.deleteObjectStore("todo");   
  35.               }   
  36.          
  37.               var store = db.createObjectStore("todo",   
  38.                 {keyPath: "adsid"});   
  39.          
  40.               adsageIDB.getAllTodoItems();   
  41.             };   
  42.           }   
  43.           else {   
  44.             adsageIDB.getAllTodoItems();   
  45.           }   
  46.         };   
  47.          
  48.         request.onerror = adsageIDB.onerror;   
  49.       }   
  50.          
  51.       adsageIDB.addTodo = function(todoText) {   
  52.         var db = adsageIDB.db;   
  53.         var trans = db.transaction(["todo"], IDBTransaction.READ_WRITE);   
  54.         var store = trans.objectStore("todo");   
  55.          
  56.         var data = {   
  57.           "text": todoText,   
  58.           "adsid": new Date().getTime()   
  59.         };   
  60.          
  61.         var request = store.put(data);   
  62.          
  63.         request.onsuccess = function(e) {   
  64.           adsageIDB.getAllTodoItems();   
  65.         };   
  66.          
  67.         request.onerror = function(e) {   
  68.           console.log("Error Adding: ", e);   
  69.         };   
  70.       };   
  71.          
  72.       adsageIDB.deleteTodo = function(id) {   
  73.         var db = adsageIDB.db;   
  74.         var trans = db.transaction(["todo"], IDBTransaction.READ_WRITE);   
  75.         var store = trans.objectStore("todo");   
  76.          
  77.         var request = store.delete(id);   
  78.          
  79.         request.onsuccess = function(e) {   
  80.           adsageIDB.getAllTodoItems();   
  81.         };   
  82.          
  83.         request.onerror = function(e) {   
  84.           console.log("Error Adding: ", e);   
  85.         };   
  86.       };   
  87.          
  88.       adsageIDB.getAllTodoItems = function() {   
  89.         var todos = document.getElementById("todoItems");   
  90.         todos.innerHTML = "";   
  91.          
  92.         var db = adsageIDB.db;   
  93.         var trans = db.transaction(["todo"], IDBTransaction.READ_WRITE);   
  94.         var store = trans.objectStore("todo");   
  95.          
  96.         var keyRange = IDBKeyRange.lowerBound(0);   
  97.         var cursorRequest = store.openCursor(keyRange);   
  98.          
  99.         cursorRequest.onsuccess = function(e) {   
  100.           var result = e.target.result;   
  101.           if(!!result == false)   
  102.             return;   
  103.          
  104.           renderTodo(result.value);   
  105.           result.continue();   
  106.         };   
  107.          
  108.         cursorRequest.onerror = adsageIDB.onerror;   
  109.       };   
  110.          
  111.       function renderTodo(row) {   
  112.         var todos = document.getElementById("todoItems");   
  113.         var li = document.createElement("li");   
  114.         var a = document.createElement("a");   
  115.         var t = document.createTextNode(row.text);   
  116.          
  117.         a.addEventListener("click", function() {   
  118.           adsageIDB.deleteTodo(row.adsid);   
  119.         }, false);   
  120.          
  121.         a.textContent = " [刪除]";   
  122.         li.appendChild(t);   
  123.         li.appendChild(a);   
  124.         todos.appendChild(li)   
  125.       }   
  126.          
  127.       function addTodo() {   
  128.         var todo = document.getElementById("todo");   
  129.         adsageIDB.addTodo(todo.value);   
  130.         todo.value = "";   
  131.       }   
  132.          
  133.       function init() {   
  134.         adsageIDB.open();   
  135.       }   
  136.          
  137.       window.addEventListener("DOMContentLoaded", init, false);   
  138.     </script>  
  139.   </head>  
  140.   <body>  
  141.     <ul id="todoItems"></ul>  
  142.     <input type="text" id="todo" name="todo" placeholder="adsageIDB text?" />  
  143.     <input type="submit" value="增加一個 IDB" onclick="addTodo(); return false;"/>  
  144.   </body>  
  145. </html>  

以上這篇html5 初試 indexedDB(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

原文地址:http://www.cnblogs.com/androidshouce/archive/2016/07/21/5690444.html

標簽:煙臺 撫州 晉中 玉溪 內蒙古 牡丹江 邯鄲 安慶

巨人網絡通訊聲明:本文標題《html5 初試 indexedDB(推薦)》,本文關鍵詞  html5,初試,indexedDB,推薦,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5 初試 indexedDB(推薦)》相關的同類信息!
  • 本頁收集關于html5 初試 indexedDB(推薦)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美一区二区三区白人 | 亚洲视频一二三| 亚洲人成亚洲人成在线观看图片| 国产精品萝li| 18成人在线观看| 亚洲一区二区精品3399| 午夜精品福利在线| 精品一区二区三区影院在线午夜 | 三级影片在线观看欧美日韩一区二区| 亚洲伦理在线免费看| 国产精品99久久久久久宅男| 丰满少妇久久久久久久| 成人免费视频caoporn| 91在线观看污| 色婷婷综合激情| 久久综合久久综合亚洲| 国产精品热久久久久夜色精品三区| 国产精品久久久久婷婷| 亚洲乱码中文字幕| 久久精品国产99国产精品| 成人午夜av电影| 欧美色爱综合网| 国产农村妇女精品| 天天影视网天天综合色在线播放| 国产精品小仙女| 欧美理论片在线| 亚洲欧美一区二区三区国产精品 | 国产精品一区二区在线看| 色综合久久88色综合天天| 欧美一区二区观看视频| 无码av免费一区二区三区试看| 成人久久18免费网站麻豆 | 中文字幕av一区二区三区高| 亚洲成av人片在线观看| 国产·精品毛片| 日韩一二三区不卡| 免费av成人在线| 欧美丰满一区二区免费视频| 亚洲激情图片一区| 国产999精品久久久久久绿帽| 制服丝袜国产精品| 久久超碰97中文字幕| 精品国产乱码久久久久久老虎| 三级在线观看一区二区| 555www色欧美视频| 日本午夜精品视频在线观看| 欧美精品日韩精品| 日日夜夜免费精品视频| 欧美三级日本三级少妇99| 亚洲激情欧美激情| 欧美精品v日韩精品v韩国精品v| 日韩成人一级大片| 国产精品私人自拍| 91官网在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩无一区二区| 久久精品久久精品| 日韩美女视频在线| 国产99久久久久| 欧美国产乱子伦| 成人动漫一区二区在线| 一区二区三区色| 欧美在线看片a免费观看| 亚洲精品中文在线观看| 91精品国产综合久久国产大片| 国产福利精品导航| 久久精品国产一区二区三| 亚洲色图第一区| 国产人成一区二区三区影院| 色偷偷88欧美精品久久久| 免费成人在线播放| 五月婷婷色综合| 综合欧美一区二区三区| 日韩免费在线观看| 欧美性欧美巨大黑白大战| 国产91在线看| 久久精品国产77777蜜臀| 亚洲欧美在线高清| 18成人在线观看| 久久综合九色综合97婷婷| 欧美久久久久久蜜桃| 91丨porny丨蝌蚪视频| 国产一区二区精品久久91| 久久99精品一区二区三区三区| 亚洲精品成人a在线观看| 亚洲男同1069视频| 国产精品久久久久久久久免费相片| 久久久久97国产精华液好用吗| 欧美成人一区二区| 538prom精品视频线放| 欧美男女性生活在线直播观看| 欧美亚洲禁片免费| 91精品国产一区二区人妖| 欧美男生操女生| 91精品在线免费| 日韩欧美国产1| 久久久av毛片精品| 亚洲国产成人一区二区三区| 亚洲欧美日韩在线| 美女mm1313爽爽久久久蜜臀| 麻豆成人在线观看| 日本黄色一区二区| 精品sm捆绑视频| 亚洲视频一二三区| 国产一区二区三区蝌蚪| 麻豆久久久久久| 一本大道久久a久久精品综合| 欧美精品一二三| 中文字幕不卡在线播放| 亚洲自拍偷拍av| 国产91精品一区二区| 在线日韩国产精品| www日韩大片| 亚洲成精国产精品女| 夫妻av一区二区| 精品国产一区二区国模嫣然| 一区二区三区在线影院| 青青草成人在线观看| 成人av电影在线观看| 精品国产乱码久久久久久影片| 国产精品午夜春色av| 国产一区二区三区在线观看精品| 91片在线免费观看| 欧美精品一区二区三区高清aⅴ| 一区二区三区日本| 不卡的av电影| 久久香蕉国产线看观看99| 亚洲香肠在线观看| 91麻豆.com| 亚洲精品福利视频网站| 99久久99久久久精品齐齐| 91精品国产欧美一区二区 | 国产精品一区二区三区四区| 欧美一区二区三区男人的天堂| 国产亚洲精品资源在线26u| 国产一区二区三区在线观看免费 | 国产精品中文字幕一区二区三区| 欧美日韩一区二区电影| 天堂蜜桃一区二区三区| 91精品国产一区二区三区香蕉| 一区二区三区视频在线观看| 97精品久久久午夜一区二区三区| 国产精品美女视频| av一区二区不卡| 五月婷婷欧美视频| 日韩欧美国产wwwww| 麻豆一区二区99久久久久| 精品福利一区二区三区| 久久精品国产99国产精品| 久久综合九色综合久久久精品综合| 成人永久免费视频| 日韩精品资源二区在线| 九一久久久久久| 亚洲男女一区二区三区| 精品视频1区2区| 国产美女一区二区三区| 中文字幕一区二区三区不卡| 在线成人免费观看| 不卡一卡二卡三乱码免费网站| 亚洲成人av电影| 国产精品乱人伦中文| 欧美一级欧美三级在线观看| 成人美女视频在线看| 久久99蜜桃精品| 午夜一区二区三区视频| 国产精品不卡在线| 国产日韩亚洲欧美综合| 91精品国产91久久综合桃花| 欧美性猛交一区二区三区精品| 国产精品亚洲专一区二区三区| 青青青伊人色综合久久| 亚洲一区二区在线视频| 一区二区三区四区不卡在线| 中文字幕一区视频| 亚洲欧美一区二区视频| 国产精品伦一区| 亚洲免费成人av| 亚洲一区视频在线| 亚洲成av人片在线观看无码| 午夜国产不卡在线观看视频| 午夜亚洲国产au精品一区二区| 亚洲自拍偷拍九九九| 亚洲香肠在线观看| 亚洲丰满少妇videoshd| 亚洲午夜激情网页| 日韩av二区在线播放| 日本成人在线看| 福利91精品一区二区三区| 国产99久久久国产精品免费看| 丁香六月综合激情| 色综合中文字幕国产| 99re这里只有精品首页| 在线观看av一区二区| 日韩免费看网站| 亚洲欧洲精品一区二区三区不卡| 一区二区三区不卡视频在线观看| 日韩黄色片在线观看| 国产麻豆视频一区二区| 日韩一级成人av| 亚洲国产人成综合网站|