Experimental: Esta es una tecnologÃa experimental
Comprueba la Tabla de compabilidad de navegadores cuidadosamente antes de usarla en producción.
IndexedDB es una API de bajo nivel que ofrece almacenamiento en el cliente de cantidades significativas de datos estructurados, incluyendo archivos y blobs. Para búsquedas de alto rendimiento en esos datos usa Ãndices. Mientras DOM Storage es útil para el almacenamiento de pequeñas cantidades de datos, no es útil para almacenar grandes cantidades de datos estructurados. IndexedDB proporciona una solución.
Esta página es básicamente el punto de entrada para la descripción técnica de los objetos de la API. Si necesita algo elemental, deberÃa consultar ;Conceptos básicos acerca de IndexedDB. Para más detalles, vea Usando IndexedDB.
IndexedDB provee APIs separados para un acceso sÃncrono o asÃncrono. El API sÃncrono está destinado a ser usado únicamente dentro de Web Workers, pero no será implementado aún por cualquier navegador. El API asÃncrono trabaja con o sin Web Workers.
API AsÃncronoLos métodos del API AsÃncrono, retornan sin bloquear el hilo de llamada. Para obtener un acceso asÃncrono a la base de datos, use open
() en el atributo indexedDB
de un objeto window. Este método retorna un objeto IDBRequest (IDBOpenDBRequest); operaciones asÃncronas se comunicarán con la aplicación que llama, disparando eventos en los objetos IDBRequest.
Nota: El objeto indexedDB
se prefija en las versiones antiguas de los navegadores (propiedad mozIndexedDB
para Gecko < 16, webkitIndexedDB
en Chrome, y msIndexedDB
en IE 10).
IDBFactory
provee acceso a la base de datos. Esta es la interface implementada por el objeto global indexedDB
y es el punto de entrada para la API.IDBCursor
itera sobre los objetos de almacenamiento y de Ãndices.IDBCursorWithValue
itera sobre los objetos de almacenamiento y de Ãndices y retorna el valor actual del cursor.IDBDatabase
representa una conexión a la base de datos. Es la única manera de realizar una transacción en la base de datos.IDBEnvironment
provee acceso a la base de datos, desde el lado del cliente. Está implementada por el objeto window.IDBIndex
provee acceso a la metadata de un Ãndice.IDBKeyRange
define un rango de claves.IDBObjectStore
representa un objeto de almacenamiento.IDBOpenDBRequest
representa un requerimiento para abrir una base de datos.IDBRequest
provee acceso a los resultados de los requerimientos asÃncronos a la base de datos y a los objetos database. Es lo que se obtiene cuando se llama a un método asÃncrono.IDBTransaction
representa una transacción. Cuando Ud. crea una transacción en la base de datos, especifica el alcance (como a que objetos store desea tener acceso), y determina la clase de acceso (sólo lectura o escritura) que desea tener.IDBVersionChangeEvent
indica que la versión de la base de datos ha cambiado.Una versión anterior de la especificación también define estas -ahora removidas- interfaces. Ãstas son documentadas todavÃa, en caso de que necesite actualizar código escrito previamente:
IDBVersionChangeRequest
representa una solicitud para cambiar la versión de una base de datos. La manera de cambiar la versión de la base de datos ahora es diferente (llamando IDBFactory.open()
sin llamar también a IDBDatabase.setVersion()
, y la interfaz IDBOpenDBRequest
tiene ahora la funcionalidad de la eliminada IDBVersionChangeRequest
.IDBDatabaseException
Obsoleto representa las condiciones de excepción que se pueden encontrar mientras se ejecutan operaciones en la base de datos.Hay también una versión sincrónica de la API. La API sÃncrona no ha sido implementada en cualquier navegador. Está destinada a ser usada con WebWorkers.
LÃmites de almacenamientoNo existe un lÃmite de tamaño para un elemento simple de la base de datos. Sin embargo, puede haber un lÃmite en el tamaño de cada base de datos IndexedDB. Este lÃmite (y la forma en que la interfaz de usuario la hace valer) puede variar de una navegador a otro:
Un claro ejemplo para lo que IndexedDB puede ser utilizado en la web, es el ejemplo de Marco Castelluccio, ganador del DevDerby IndexedDB Mozilla. La demostración ganadora fue eLibri, una biblioteca y una aplicación de lectura de libros electrónicos.
Ver tambiénRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4