jjzjj

IndexedDB

全部标签

javascript - 索引数据库 : How to limit number of objects returned?

我正在使用带有下限范围查询的游标。我找不到限制返回对象数量的方法,类似于数据库中的“LIMITn”子句。varkeyRange=IDBKeyRange.lowerBound('');不存在吗? 最佳答案 在迭代结果时,您可以随时停止。这样的事情应该有效:varresults=[];varlimit=20;vari=0;objectStore.openCursor().onsuccess=function(event){varcursor=event.target.result;if(cursor&&i此外,在您根据由连续数字组成的键

javascript - 多个属性上的索引数据库游标范围

我在indexeddb对象存储上有两个属性的复合索引,并希望根据这两个属性的范围检索游标。这是商店中的示例对象:{species:'Oak',xcoord:123456,ycoord:654321}和索引:treeStore.createIndex("treelocation",["xcoord","ycoord"],{unique:false});索引创建成功,我可以在Chrome开发者工具中看到它,但是现在我想打开一个在x和y坐标上都有键范围的光标(这将是map的范围).在线搜索我看不到如何执行此操作,并且使用键范围数组打开索引似乎不起作用。 最佳答案

javascript - 如何在 IndexedDB 中创建多个对象存储

不知道我说的对不对。但据我所知,我无法手动创建版本更改交易。调用它的唯一方法是在打开索引数据库连接时更改版本号。如果这是正确的,在example1和example2中永远不会创建新的objectStore?例子1functioncreateObjectStore(name){varrequest2=indexedDB.open("existingDB");request2.onupgradeneeded=function(){vardb=request2.result;varstore=db.createObjectStore(name);};}例子2functioncreateObj

javascript - 在不填满磁盘的情况下检测 Firefox IndexedDB 或 Web Storage 存储限制?

我想使用IndexedDB处理大量数据。太多数据无法放入内存。为此,我想使用Firefox的IndexedDB持久存储,它允许我存储超过2GB的数据(Firefoxapparentlyhasalimitof2GBimposedonnon-persistentstorage)。但是,我遇到了一个问题。Firefox似乎没有对我可以存储在持久存储中的数据量施加限制。事实上,如果我让下面的示例继续运行,它显然会一直运行到磁盘已满!示例(Online)(必须在Firefox中运行!):FirefoxIndexedDBLimitTest(function(){'usestrict';varIDB

javascript - 在 Firefox 中打开 IndexedDB 时出现 InvalidStateError

在Firefox17.0.1中,当我尝试打开IndexedDB数据库时,Firebug控制台向我显示了一个InvalidStateError异常。还引发了request.onerror事件,但是event.target.errorCode是undefined。if(window.indexedDB){varrequest=window.indexedDB.open('demo',1);request.onsuccess=function(event){//notraised};request.onupgradeneeded=function(event){//notraised};re

javascript - 异步使用 IndexedDB

加载数据并将它们存储在indexeddb数据库中。我定期遇到数据库崩溃并无法访问它的情况。请给我一个如何异步使用indexeddb的解决方案!我现在使用的示例代码:vardataTotal=0;varthreads=6;//openIndexeddbConnection();functionstart(total){dataTotal=total;for(vari=0;idataTotal){//checkEnd();return;}$.ajax({url:baseUrl,data:{offset:dataNum},success:function(data){successData(

Web 存储周围的 Javascript API 包装器?

在variouswebstoragesystems上是否有类似包装器API抽象的跨浏览器jquery可用的? 最佳答案 localStorage(又名“网络存储”)实际上无法与WebSQL或IndexedDB相提并论,因为它在空间上受到严格限制并且是同步的(读作:卡住浏览器的UI,因为它会拉屎)。因此,我在其余的帖子中忽略了localStorage。但是,如果您只需要一点存储空间,则可以直接使用localStorage,因为它得到了相当广泛的支持,或者像其他帖子建议的那样使用lawnchair,它得到了更广泛的支持。所以我们只剩下W

javascript - 从多个 javascript 线程访问 IndexedDB

概述:我试图通过从网页和网络worker访问IndexedDB来避免竞争条件。设置:在用户使用网站时将项目保存到本地IndexedDB的网页。每当用户将数据保存到本地数据库时,记录都会被标记为“未发送”。Web-worker后台线程从IndexedDB中提取数据,将其发送到服务器,一旦服务器接收到数据,就将IndexedDB中的数据标记为“已发送”。问题:由于对IndexedDB的访问是异步的,我不能保证用户不会在web-worker将记录发送到服务器的同时更新记录。时间线如下图:Web-worker从数据库中获取数据并发送给服务器在传输过程中,用户更新将其保存到数据库中的数据。网络w

javascript - 如何同步访问 indexedDB?

indexedDB有一个spec说你可以同步访问索引数据库,但还没有实现。我只是想知道是否有办法让它手动同步,我的JavaScript看起来像这样,vartrans=databaseAsync.transaction(["mapTile"],IDBTransaction.READ_WRITE);varstore=trans.objectStore("mapTile");varkeyRange=IDBKeyRange.bound(evt.data[0],evt.data[0]);varcursorRequest=store.openCursor(keyRange);//canyouput

javascript - IndexedDB 的包装函数

我需要为iPad/平板电脑设备构建一个离线HTML5网络应用程序,用户可以在其中从服务器下载数据集(数据表)并将其存储在设备上。然后用户可以断开与服务器的连接并在设备上本地查看/编辑数据。这适用于在没有蜂窝网络覆盖且需要收集/更新数据的偏远地区锻炼的人。当他们回到办公室时,他们可以将数据同步/上传回服务器。它需要是HTML5的原因是它与平台无关,即可以在iOS、Android等上运行它,只要它有支持HTML5的现代网络浏览器。现在我已经使用HTML5本地存储(用于数据)和HTML5离线应用程序缓存(用于页面/css/js/图像)构建了系统,它在小型数据集(我可以查看,离线编辑和保存,在