IDBIndex:locale 属性

已弃用: 不再推荐使用此功能。尽管某些浏览器可能仍支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,如果可能,请更新现有代码;请参阅此页面底部的兼容性表以指导您的决策。请注意,此功能可能随时停止工作。

非标准: 此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。

localeIDBIndex 接口的只读属性,它返回索引的区域设置(例如 en-USpl),前提是创建时指定了 locale 值(请参阅 options 参数到 IDBObjectStore.createIndex())。请注意,此属性始终返回此索引中使用的当前区域设置,换句话说,它永远不会返回 "auto"

字符串。

示例

在以下示例中,我们打开一个事务和一个对象存储,然后从一个简单的联系人数据库中获取索引 lName。然后,我们使用 IDBIndex.openCursor 在索引上打开一个基本游标——这与使用 IDBObjectStore.openCursor 直接在 ObjectStore 上打开游标相同,只是返回的记录是根据索引排序的,而不是根据主键排序的。

locale 值将记录到控制台。

js
function displayDataByIndex() {
  tableEntry.textContent = "";
  const transaction = db.transaction(["contactsList"], "readonly");
  const objectStore = transaction.objectStore("contactsList");

  const myIndex = objectStore.index("lName");
  console.log(myIndex.locale);

  myIndex.openCursor().onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const tableRow = document.createElement("tr");
      for (const cell of [
        cursor.value.id,
        cursor.value.lName,
        cursor.value.fName,
        cursor.value.jTitle,
        cursor.value.company,
        cursor.value.eMail,
        cursor.value.phone,
        cursor.value.age,
      ]) {
        const tableCell = document.createElement("td");
        tableCell.textContent = cell;
        tableRow.appendChild(tableCell);
      }
      tableEntry.appendChild(tableRow);

      cursor.continue();
    } else {
      console.log("Entries all displayed.");
    }
  };
}

规范

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

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅