HTML5技术

手机浏览器不支持 IDBObjectStore.getAll - 王大鹏

字号+ 作者:H5之家 来源:H5之家 2016-05-01 13:00 我要评论( )

最近在学习IndexDB,使用了IDBObjectStore.getAll,发现手机上不支持。 后面,查阅了mdn: 的确是不支持,且可以看到这个函数现在兼容性很差。 解决方法: 1.使用IDBObjectStore.openCursor(兼容性较好) 代替, 2.自己模拟一个来兼容: if (typeof IDBObje

最近在学习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; } }

  

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 浏览器渲染原理及流程 - 李某龙

    浏览器渲染原理及流程 - 李某龙

    2017-04-13 12:01

  • 认识浏览器缓存 - TechSnail

    认识浏览器缓存 - TechSnail

    2017-04-03 09:02

  • 火狐手机测试 - yangzailu1990

    火狐手机测试 - yangzailu1990

    2017-03-14 15:00

  • H5安卓端浏览器如何去除select的边框? - yangzailu1990

    H5安卓端浏览器如何去除select的边框? - yangzailu1990

    2017-03-08 17:02

网友点评
o