¿Es posible almacenar datos de una manera que será accesible después de reiniciar el navegador en el contexto de una extensión de Chrome?¿Las extensiones de Chrome tienen acceso al almacenamiento local?
Respuesta
aún más simple que eso:
para que diga:
var myStoredValue = localStorage["TheKeyToMyStoredValue"];
a escribir:
localStorage["TheKeyToMyStoredValue"] = myNewValueToStore;
para deshacerse de:
delete localStorage["TheKeyToMyStoredValue"];
Sí, lo es. Repasando un recorrido completo de cómo hacerlo probablemente excederá la duración de una respuesta razonable de StackOverflow, por lo que lo referiré a this very extensive tutorial por Rajdeep Dua.
El código en cuestión se vería así:
// Store item in local storage:
function setItem(key, value) {
try {
log("Storing [" + key + ":" + value + "]");
window.localStorage.removeItem(key); // <-- Local storage!
window.localStorage.setItem(key, value); // <-- Local storage!
} catch(e) {
log("Error inside setItem");
log(e);
}
log("Return from setItem" + key + ":" + value);
}
// Gets item from local storage with specified key.
function getItem(key) {
var value;
log('Retrieving key [' + key + ']');
try {
value = window.localStorage.getItem(key); // <-- Local storage!
}catch(e) {
log("Error inside getItem() for key:" + key);
log(e);
value = "null";
}
log("Returning value: " + value);
return value;
}
// Clears all key/value pairs in local storage.
function clearStrg() {
log('about to clear local storage');
window.localStorage.clear(); // <-- Local storage!
log('cleared');
}
function log(txt) {
if(logging) {
console.log(txt);
}
}
El enlace del tutorial está roto, pero el ejemplo aún existe. Aquí está el ejemplo del tutorial https://chrome.google.com/webstore/detail/hmbpgbeiphknbkjjfppodijapijlpkkc –
Esta API también hace un buen trabajo: https://developer.chrome.com/extensions/storage.html También le permite sincronizar los datos a su perfil –
La versión actual de cromo tiene almacenamiento local.
Lo he usado yo mismo. Puede usar modernizr para detectar si el navegador lo admite o no. He escrito una solución para un cliente en la que hago una copia de seguridad de las cookies si no existe almacenamiento local, pero esto no debería ser un problema para las extensiones.
Enlace muerto a partir del 11/11/11 – techie007
Lo eliminé y actualicé la respuesta –
Chrome también es compatible con HTML5 Web Database spec. Esto le proporciona una base de datos SQL local, por lo que puede hacer cosas más complejas que simplemente almacenar pares de nombre/valor en Almacenamiento local.
Hoy podría ser mejor usar chrome.storage. chrome.storage es asíncrono, lo que lo hace más rápido y localStorage está limitado a 5MB.
"lo que hace que sea más rápido" _ \ [citación necesitada] \ – Xan
Según lo especificado [aquí] (https: // developer.chrome.com/apps/storage) por los desarrolladores de Chrome, las operaciones masivas de lectura y escritura no bloqueantes son más rápidas que las API localStorage de bloqueo y serie. – krbnr
¡Gracias por el enlace! – Xan
ya hay algunas buenas respuestas aquí, pero tenga en cuenta que si decide utilizar un script de contenido en su extensión, ese script de contenido no tendrá acceso a localStorage. por lo tanto, chrome.storage es una buena alternativa.
- 1. ¿Las extensiones de Chrome tienen acceso a iframes?
- 2. ¿Cómo probar las extensiones de Chrome?
- 3. Almacenamiento local HTML5 y Chrome
- 4. ¿Alternativas de extensión de Chrome al almacenamiento local?
- 5. ¿Las extensiones de Chrome admiten copiar imagen al portapapeles?
- 6. ¿Dónde almacena google chrome las extensiones desempaquetadas?
- 7. Extensiones de Chrome + Dart
- 8. Google chrome extension: local storage
- 9. Velocidad/costo de almacenamiento local
- 10. Almacenamiento de contraseñas en Google Chrome Extension
- 11. local Almacenamiento y bloqueo
- 12. Acceso al archivo local utilizando NSURL
- 13. Obteniendo favicons de manera confiable en las extensiones de Chrome, chrome: // favicon?
- 14. Cómo deshabilitar las extensiones de Chrome JS al depurar en devtools?
- 15. almacenamiento local y almacenamiento de sesión
- 16. ¿Los complementos de Firefox tienen algo similar al concepto de "página de fondo"?
- 17. Cómo sincronizar las opciones de extensión de Chrome
- 18. Obtiene el archivo local dentro de la carpeta de extensiones en Chrome
- 19. ¿Cómo disparo programáticamente claves de acceso directo en Chrome con una extensión? (Extensiones NPAPI o JavaScript)
- 20. Almacenamiento local y JSON
- 21. Enhebrar almacenamiento local
- 22. HTML 5 almacenamiento local
- 23. Detección de extensiones del navegador Google Chrome
- 24. ¿Las Herramientas de desarrollo de Chrome tienen un explorador JSON como Firebug?
- 25. Extensiones Chrome - onRequest/sendRequest vs onMessage/sendMessage
- 26. Aplicación del navegador y acceso al sistema de archivos local
- 27. son extensiones de google chrome, de código abierto o no?
- 28. ¿Qué DNS tienen acceso API?
- 29. Cómo usar HTML5 WebSockets para extensiones de Chrome
- 30. Atajos de teclado en Google Chrome/Extensiones de cromo
Usted señor es un druida y santo de nivel 99. – EbilGenius
Esta ha sido la mejor respuesta que leí en mucho tiempo. – whizzzkid
gran respuesta. Solo tenga en cuenta que esto no funcionará con las secuencias de comandos de contenido. Estaba confundido hasta que encontré [esto] (http://stackoverflow.com/a/15466494/4926817) –