zoukankan      html  css  js  c++  java
  • indexedDB基本使用demo

    <html>
    <head>
        <script src="jquery-3.5.1.js"></script>
    </head>
    <body>
    <script>
        createOrOpenDb("teamtalk");
        //新建或打开已有数据库
        function createOrOpenDb(dbName){
            var request = indexedDB.open(dbName, 1);
            request.onsuccess = function(event) {
                console.log('打开/创建 数据库成功');
            };
            request.onerror = function(event) {
                console.log('打开/创建 数据库成功失败:' + event.target.error.message);
            };
        }
    
        function insertData(db){
            /**
             * 第一个参数,存储空间的名称,即上面的customers。
             * 第二个参数,keyPath值指定主键。
             * autoIncrement指定了key值是否自增(当key值为默认的从1开始到2^53的整数时)。
             * */
            var objectStore = db.createObjectStore("customers" , { keyPath: "name" }  );
            /**
             * 第一个参数,索引的名称。
             * 第二个参数,指定索引对应列。
             * 第三个属性, options对象,其中属性unique的值为true表示索引必须唯一。
             * */
    //          objectStore.createIndex("name", "name", { unique: false });
            objectStore.add({"name": 'a', "age": "10",ssn: "444-44-4444"});
            objectStore.add({"name": 'b', "age": "20",ssn: "444-44-4442"});
        }
    
        function deleteData(db, storename, id){
            var transaction = db.transaction(storename, 'readwrite');//获取事务
            var store = transaction.objectStore(storename); // 得到对应的object store
            store.delete(id);// 根据id删除对应store中的数据
        }
    
        function readData(db, storename, id){
            var transaction = db.transaction(storename, 'readwrite');
            var objectStore = transaction.objectStore(storename);
            var req = objectStore.get(id);
            req.onsuccess = function(e) {
                var employee = e.target.result;//得到对象
                debugger
            };
        }
    
        function updateData(db, storename, id){
            var transaction = db.transaction(storename, 'readwrite'); //获取事务
            var store = transaction.objectStore(storename);// 得到指定的object store
            var req = store.get(id);//根据id查找指定的对象
            req.onsuccess = function(e) {
                var employee = e.target.result;//得到对象
                employee.age = 19;//修改值
                store.put(employee);//将修改之后的值放回指定的object store中
            };
        }
    </script>
    
    </body>
    </html>
  • 相关阅读:
    好用开源的C#快速开发平台
    Chrome 53 Beta一些有意思的改动
    前端面试问题总结
    前端构建的初步尝试
    [译] 如何运用新技术提升网页速度和性能
    切图崽的自我修养-[ES6] 迭代器Iterator浅析
    解决表单GET提交后台数据乱码问题
    设置port转发来訪问Virtualbox里linux中的站点
    linux杂谈(十三):代理server
    a little riak book
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/14384076.html
Copyright © 2011-2022 走看看