/ / Usar una URL como clave en el diccionario de almacenamiento local de Chrome - javascript, google-chrome-extension

Uso de una URL como clave en el diccionario de almacenamiento local de Chrome - javascript, google-chrome-extension

Estoy tratando de almacenar una lista de algunos valores enEl almacenamiento local de Chrome para su uso en una extensión de Chrome. Dado que cada lista se correlaciona con una URL, estoy tratando de usar la URL como la clave en el almacén de valores clave. Sin embargo, por alguna razón set() parece fallar cuando se usa una URL como clave (aunque typeof(url_variable) revela que "es solo una cadena) pero si uso alguna cadena inventada como "hello", Soy capaz de recuperar el objeto almacenado normalmente.

¿Existe alguna restricción sobre el uso de URL como clave? No hay ninguna mención de ello en la API.

Cabe señalar que Chrome no está configurando runtime.lastError, la búsqueda simplemente falla cuando intento get() la llave que antes era set() con una URL.

Este es el código, para referencia:

function addNode(url, referrer) {
nodes = chrome.storage.local;
edge = {
in_node: referrer,
timestamp: Date()
};

nodes.get(url, function(current_node){
console.log(current_node);
if ( $.isEmptyObject(current_node) === false ) {
// never executes, because set doesn"t work
}
else {
console.log("set: "+url);
nodes.set({url:[edge]}, function(){
if ( chrome.runtime.lastError ) {
console.log(chrome.runtime.lastError);
}
else {
console.log("get: "+url);
chrome.storage.local.get(url, function(thing) {console.log(thing)});
console.log("Created new Node for url " + url + " and new edge from " + edge.in_node + " at time " + edge.timestamp);
}
});
}
});
}

Respuestas

0 para la respuesta № 1

¿Qué tal crear el objeto primero de esta manera? ¿Cómo usar chrome.storage en una extensión de Chrome usando el valor de una variable como el nombre de la clave?

¿También puede intentar la excepción excepto en lugar de usar un bloque if?