zoukankan      html  css  js  c++  java
  • 手机浏览器不支持 IDBObjectStore.getAll

    最近在学习IndexDB,使用了IDBObjectStore.getAll,发现手机上不支持。

    后面,查阅了mdn:

    的确是不支持,且可以看到这个函数现在兼容性很差。

    解决方法:

    1.使用 IDBObjectStore.openCursor(兼容性较好) 代替,

    2.自己模拟一个来兼容:

    if (typeof IDBObjectStore.prototype.getAll != 'function') {
    	IDBObjectStore.prototype.getAll = function(params) {
    		var request = {};
    
    		var req = this.openCursor(params);
    		req.onerror = function(evt) {
    			if (typeof request.onerror == 'function') {
    				request.onerror(evt);
    			}
    		};
    
    		var rst_values = [];
    		req.onsuccess = function(evt) {
    			if (typeof request.onsuccess == 'function') {
    				var cursor = event.target.result;
    				if (cursor) {
    					rst_values.push(cursor.value);
    					cursor.continue();
    				} else {
    					request.result = rst_values;
    					evt.target.result = rst_values;
    					request.onsuccess(evt);
    				}
    			}
    		}
    		return request;
    	}
    }
    

      

  • 相关阅读:
    6554545555
    484844
    学习资料整理
    word加上尾注之后参考文献下面的横线去除
    数据结构+算法
    python编程
    计算机网络(1)
    数据结构
    数据分析笔试(3)
    数据分析笔试(2)
  • 原文地址:https://www.cnblogs.com/web2-developer/p/5437467.html
Copyright © 2011-2022 走看看