por manejo localstorage linea leer example ejemplos ejemplo con archivos archivo javascript html5 google-chrome html5-filesystem web-storage

manejo - localstorage javascript ejemplos



¿Cómo usar el navegador en lugar de window.webkitStorageInfo HTML5 API del sistema de archivos? (3)

Así que aquí se encuentra una publicación similar html-5-filesystem-access-type-error . Sin embargo, no estoy muy satisfecho con la conclusión porque no creo que realmente haya respondido la pregunta: la solución dada es la solución de código obsoleto. ¿Alguien sabe cómo usar el navigator lugar de la window como la consola Chrome le indica que haga?

He estado usando lo siguiente y funciona, pero la consola chrome me sigue informando para que no lo haga porque está en desuso.

Código de trabajo en desuso

window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024*280, function(grantedBytes) { window.webkitRequestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler); }, function(e) { console.log(''Error'', e); });

Nota: onInitFs y errorHandler son funciones definidas en otro lugar, que funcionan.

Registro de la consola : el mensaje que recibo en la consola es el siguiente:

''window.webkitStorageInfo'' is deprecated. Please use ''navigator.webkitTemporaryStorage'' or ''navigator.webkitPersistentStorage'' instead.

Por lo tanto, la mejor práctica sería dejar de usar el método en desuso. Desafortunadamente, cuando reemplazo la window con el navigator se bloquea (ver más abajo). ¿Cómo se usa el navigator lugar de la window para acceder al sistema de archivos?


A continuación se muestran dos ejemplos con la API actual .

Utiliza navigator.webkitPersistentStorage.requestQuota lugar de la obsoleta window.webkitStorageInfo.queryUsageAndQuota :

Cuota de consulta

navigator.webkitTemporaryStorage.queryUsageAndQuota ( function(usedBytes, grantedBytes) { console.log(''we are using '', usedBytes, '' of '', grantedBytes, ''bytes''); }, function(e) { console.log(''Error'', e); } );

Solicitar cupo

var requestedBytes = 1024*1024*280; navigator.webkitPersistentStorage.requestQuota ( requestedBytes, function(grantedBytes) { console.log(''we were granted '', grantedBytes, ''bytes''); }, function(e) { console.log(''Error'', e); } );

webkitTemporaryStorage webkitPersistentStorage almacenamiento temporal ( webkitTemporaryStorage ) o el almacenamiento persistente ( webkitPersistentStorage ) para consultar.

La implementación actual de Chrome rastrea esta versión de especificación específica, que describe un poco más las cosas: http://www.w3.org/TR/2012/WD-quota-api-20120703/

chromestore.js proporciona una API más fácil para estos datos.

Para responder a su pregunta original, su nuevo código se vería así:

Solicitar cuota e inicializar sistema de archivos.

var requestedBytes = 1024*1024*280; navigator.webkitPersistentStorage.requestQuota ( requestedBytes, function(grantedBytes) { window.webkitRequestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler); }, function(e) { console.log(''Error'', e); } );


El mensaje de error le indica que use navigator.webkitTemporaryStorage o navigator.webkitPersistentStorage e intente usar navigator.webkitStorageInfo que undefined está undefined .

ACTUALIZACIÓN: PERSISTENT no debe pasarse a navigator.webkitTemporaryStorage o navigator.webkitPersistentStorage sino solo a window.webkitRequestFileSystem . Entonces no hay más error. (ver: la API del sistema de archivos no funciona en Chrome v27 & v29 )


Recientemente, dediqué un tiempo a crear una capa de abstracción para la API del sistema de archivos con almacenamiento persistente llamado Chromestore.js. He corregido este error en la capa de abstracción utilizando la misma solución mencionada aquí. Pero con esta API, no hay necesidad de preocuparse por eso y está limpio.

https://github.com/summera/chromestore.js

Proporciona algunas funciones adicionales que también son bastante útiles. Definitivamente necesita ampliarse, lo que planeo hacer pronto. Cualquier sugerencia / retroalimentación es muy apreciada! Esto debería hacer que sea más fácil para aquellos que usan la API FileSystem. Especialmente para aquellos que intentan almacenar grandes cantidades de datos recuperados de servidores remotos.

Los ejemplos y la documentación están aquí: https://github.com/summera/chromestore.js/blob/master/chromestore-api.md

Creo que esto tiene el potencial de expandirse y hacer algunas cosas realmente buenas con los datos y la API del sistema de archivos.

¡Aclamaciones!