This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The locale
read-only property of the IDBIndex
interface returns the locale of the index (for example en-US
, or pl
) if it had a locale
value specified upon its creation (see createIndex()
's optionalParameters.) Note that this property always returns the current locale being used in this index, in other words, it never returns "auto"
.
Syntax
var myIndex = objectStore.index('index'); console.log(myIndex.locale);
Value
A DOMString
.
Example
In the following example we open a transaction and an object store, then get the index lName
from a simple contacts database. We then open a basic cursor on the index using IDBIndex.openCursor
— this works the same as opening a cursor directly on an ObjectStore
using IDBObjectStore.openCursor
except that the returned records are sorted based on the index, not the primary key.
The locale
value is logged to the console.
function displayDataByIndex() { tableEntry.innerHTML = ''; var transaction = db.transaction(['contactsList'], 'readonly'); var objectStore = transaction.objectStore('contactsList'); var myIndex = objectStore.index('lName'); console.log(myIndex.locale); myIndex.openCursor().onsuccess = function(event) { var cursor = event.target.result; if(cursor) { var tableRow = document.createElement('tr'); tableRow.innerHTML = '<td>' + cursor.value.id + '</td>' + '<td>' + cursor.value.lName + '</td>' + '<td>' + cursor.value.fName + '</td>' + '<td>' + cursor.value.jTitle + '</td>' + '<td>' + cursor.value.company + '</td>' + '<td>' + cursor.value.eMail + '</td>' + '<td>' + cursor.value.phone + '</td>' + '<td>' + cursor.value.age + '</td>'; tableEntry.appendChild(tableRow); cursor.continue(); } else { console.log('Entries all displayed.'); } }; };
Specification
Not currently part of any specification.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
locale | Chrome No support No | Edge No support No | Firefox Full support 43 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 43 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
See also
- Using IndexedDB
- Starting transactions:
IDBDatabase
- Using transactions:
IDBTransaction
- Setting a range of keys:
IDBKeyRange
- Retrieving and making changes to your data:
IDBObjectStore
- Using cursors:
IDBCursor
- Reference example: To-do Notifications (view example live.)