IDBLocaleAwareKeyRange - 具有区域设置感知排序的 IDBKeyRange

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

IDBLocaleAwareKeyRangeIndexedDB API 的接口,是 Firefox 特有的 IDBKeyRange 版本 - 它以完全相同的方式运行,并且具有相同的属性和方法,但是当原始索引在创建时指定了 locale 值时(参见 createIndex() 的 optionalParameters),用于 IDBIndex 对象 - 也就是说,它启用了区域设置感知排序

方法

此接口继承其父接口 IDBKeyRange 的所有方法 。

属性

此接口继承其父接口 IDBKeyRange 的所有属性。

但请记住,IDBLocaleAwareKeyRange 有自己的 IDBKeyRange.bound 实现。这是因为当你使用 bound() 时,它会检查下限 < 上限,如果不是这样则抛出异常。对于语言环境感知索引,< 取决于语言环境,例如立陶宛语 Y 在 I 和 K 之间的排序。IDBKeyRangeIDBLocaleAwareKeyRange 之间的唯一区别是后者不执行上述检查。

在处理区域设置感知索引时,开发人员应始终使用 IDBLocaleAwareKeyRange

实例

function displayData() {
  var keyRangeValue = IDBLocaleAwareKeyRange.bound("A", "F");

  var transaction = db.transaction(['fThings'], 'readonly');
  var objectStore = transaction.objectStore('fThings');

  var myIndex = objectStore.index('lName');
  myIndex.openCursor(keyRangeValue).onsuccess = function(event) {
    var cursor = event.target.result;
    if(cursor) {
      var tableRow = document.createElement('tr');
      tableRow.innerHTML =   '&lt;td&gt;' + cursor.value.id + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.lName + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.fName + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.jTitle + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.company + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.eMail + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.phone + '&lt;/td&gt;'
                           + '&lt;td&gt;' + cursor.value.age + '&lt;/td&gt;';
      tableEntry.appendChild(tableRow);  

      cursor.continue();
    } else {
      console.log('所有的条目都显示出来了。');    
    }
  };
};

规范

目前不是任何规范的一部分。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 不支持 未知43 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持 不支持 未知43 未知 不支持 不支持

相关链接