¿Cómo usar un objeto de un bit complejo como un valor de una clave en LocalStorage de Google Chrome? [duplicar] -- javascript campo con google-chrome-extension camp Relacionados El problema

How to use a bit complex object as a value of a key in localStorage of Google Chrome? [duplicate]


0
vote

problema

Español
Esta pregunta ya tiene respuestas aquí :
almacenamiento de objetos en HTML5 LocalStorage (23 respuestas)
Cerrado hace 4 años .

Estoy tratando de construir una extensión de cromo que alimentaría los datos en el localStorage del formulario:

  var a = 'YouTube'; var data = {     'title': 'twenty one pilots: Stressed Out [OFFICIAL VIDEO]',     'url': 'https://www.youtube.com/watch?v=pXRviuL6vMY' }; localStorage.setItem(a, data);   

Pero cuando miro los recursos en Dev. Herramientas, no muestra el objeto data6 en la tabla de valor. ¿Cómo puedo hacer que aparezca allí? ¿Qué está mal con el código? la imagen de la consola y el almacenamiento local .

He intentado comandos como localStorage.YouTube y localStorage.getItem('YouTube') pero siempre devuelve [object Object] .

¿Qué podría ser una posible solución para hacer algo como esto posible?

Original en ingles

I'm trying to build a chrome extension that would feed data in the localStorage of the form:

var a = 'YouTube'; var data = {     'title': 'twenty one pilots: Stressed Out [OFFICIAL VIDEO]',     'url': 'https://www.youtube.com/watch?v=pXRviuL6vMY' }; localStorage.setItem(a, data); 

But when I look into the resources in dev. tools, it doesn't show the data object in the value table. How can I make it appear in there?What's wrong with the code? The Image of the console and the localStorage.

I have tried commands like localStorage.YouTube and localStorage.getItem('YouTube') but it always returns [object Object].

What could be a possible workaround for making something like this possible?

     
     
     

Lista de respuestas

0
 
vote

LocalStorage en HTML5 solo puede almacenar cadenas de valores clave. No puedes almacenar objetos allí.

Pero, puedes usar JSON. Para realizar una cadena de su objeto, puede usar java.lang.Exception: Encoder: discarding statement HashMultimap.put(Object, Object); at java.beans.Encoder.writeStatement(Encoder.java:306) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at test2.XmlEncoderTest$CustomPersistenceDelegate.initialize(XmlEncoderTest.java:83) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.DefaultPersistenceDelegate.doProperty(DefaultPersistenceDelegate.java:194) at java.beans.DefaultPersistenceDelegate.initBean(DefaultPersistenceDelegate.java:253) at java.beans.DefaultPersistenceDelegate.initialize(DefaultPersistenceDelegate.java:400) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeObject1(Encoder.java:258) at java.beans.Encoder.cloneStatement(Encoder.java:271) at java.beans.Encoder.writeStatement(Encoder.java:301) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:330) ... Caused by: java.lang.NoSuchMethodException: HashMultimap.put(Object, Object); at java.beans.Statement.invokeInternal(Statement.java:313) at java.beans.Statement.access$000(Statement.java:58) at java.beans.Statement$2.run(Statement.java:185) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Statement.invoke(Statement.java:182) at java.beans.Statement.execute(Statement.java:173) at java.beans.Encoder.writeStatement(Encoder.java:304) ... 51 more 11111111111111 Y cuando quiera obtener valor de LocalStorage, simplemente analice esa cadena y cree un nuevo objeto que pueda usar nuevamente. java.lang.Exception: Encoder: discarding statement HashMultimap.put(Object, Object); at java.beans.Encoder.writeStatement(Encoder.java:306) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at test2.XmlEncoderTest$CustomPersistenceDelegate.initialize(XmlEncoderTest.java:83) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.DefaultPersistenceDelegate.doProperty(DefaultPersistenceDelegate.java:194) at java.beans.DefaultPersistenceDelegate.initBean(DefaultPersistenceDelegate.java:253) at java.beans.DefaultPersistenceDelegate.initialize(DefaultPersistenceDelegate.java:400) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:118) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeExpression(Encoder.java:330) at java.beans.XMLEncoder.writeExpression(XMLEncoder.java:454) at java.beans.PersistenceDelegate.writeObject(PersistenceDelegate.java:115) at java.beans.Encoder.writeObject(Encoder.java:74) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:327) at java.beans.Encoder.writeObject1(Encoder.java:258) at java.beans.Encoder.cloneStatement(Encoder.java:271) at java.beans.Encoder.writeStatement(Encoder.java:301) at java.beans.XMLEncoder.writeStatement(XMLEncoder.java:400) at java.beans.XMLEncoder.writeObject(XMLEncoder.java:330) ... Caused by: java.lang.NoSuchMethodException: HashMultimap.put(Object, Object); at java.beans.Statement.invokeInternal(Statement.java:313) at java.beans.Statement.access$000(Statement.java:58) at java.beans.Statement$2.run(Statement.java:185) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Statement.invoke(Statement.java:182) at java.beans.Statement.execute(Statement.java:173) at java.beans.Encoder.writeStatement(Encoder.java:304) ... 51 more 2

 

LocalStorage in HTML5 can only store key-values strings. You can't store objects there.

BUT, you can use JSON. To make a string from your object you can use JSON.stringify(yourObj);
and when you want to get value from LocalStorage you simply parse that string and create new object which you can use again. JSON.parse(yourObj);

 
 

Relacionados problema

0  Script de extensión de cromo no funciona  ( Chrome extension script not working ) 
Soy extremadamente nuevo para crear extensiones para Chrome, y en este momento estoy tratando de meterme y crear un lienzo simple que puede abrir y dibujar. ...

5  jquery.ajax () envía solicitudes de publicación como se obtiene en una extensión de cromo  ( Jquery ajax sends post requests as get in a chrome extension ) 
Estoy construyendo una pequeña extensión de cromo que debe enviar mensajes a través de una solicitud posterior a HTTP a un servidor en la red de mi empresa, y...

2  Deshabilite la extensión de entrada de cromo de entrada  ( Disable the enter key chrome extension ) 
Quiero deshabilitar la tecla Intro en la extensión de Chrome usando JavaScript para una página en particular. Por ejemplo: en una página de inicio de sesión, ...

3  Extensión de imagen de Rehost de Google Chrome  ( Google chrome rehost image extension ) 
Me gustaría tener una extensión de Google Chrome para volver ahestar cualquier imagen en la que haga clic. Por ejemplo, tengo un documento HTML con imágenes...

15  Acceso a la página HTML actual de la extensión Chrome  ( Accessing the current html page from chrome extension ) 
Soy nuevo en las extensiones de cromo. Me gustaría crear una extensión de cromo simple que emencione una alerta con el título de la página HTML actual. Cuando...

5  ¿Cómo puedo detectar si se ha habilitado una extensión de cromo (después de haber sido deshabilitada)  ( How can i detect if a chrome extension has been enabled after having been disab ) 
Digüe que un usuario desactiva mi extensión y luego, más tarde lo permite. ¿Cómo puedo ejecutar una función cuando la extensión se vuelve a habilitar? Int...

0  Lea todas las imágenes de la pestaña actual y que se muestre en IFRAME y agregue el marco a la página actual en la extensión de Chrome  ( Read all images of current tab and showing into iframe and append frame to curre ) 
Leer todas las imágenes de la pestaña actual y enlazar en otra página, cargue otra página en IFRAME y muestre IFRAME en la página actual en la extensión de Ch...

1  Mostrar el artículo no leído en el icono de la extensión de Google Chrome  ( Show unread item count in google chrome extention icon ) 
¿Es posible mostrar el recuento de elementos no leídos en el icono de Extensión de Google Chrome? En caso afirmativo, ¿puede alguien apuntarme a algunos punte...

0  ¿Es posible leer HTML en CSS?  ( Is it possible to read html in css ) 
Estoy haciendo una extensión de Google Chrome para cambiar la apariencia de las barras de desplazamiento (webkit). Quiero que se "mezclen" con el resto de la ...

0  ¿Es posible ejecutar scripts de contenido de una extensión de cromo en la página de origen de vista?  ( Is it possible to run content scripts from a chrome extension on the view source ) 
Estoy trabajando en una extensión de cromo que ejecuta algunos scripts de contenido y modifica las páginas HTML / CSS de las Páginas Vistas. ¿Es posible que l...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos