/ / Utilisation d'une URL comme clé dans le dictionnaire de stockage local de Chrome - javascript, google-chrome-extension

Utilisation d'une URL comme clé dans le dictionnaire de stockage local de Chrome - javascript, google-chrome-extension

J'essaie de stocker une liste de certaines valeurs dans"Stockage local de Chrome à utiliser dans une extension Chrome. Comme chaque liste est corrélée à une URL, j’essaie d’utiliser l’URL en tant que clé dans le magasin de valeurs-clés. Cependant, pour une raison quelconque set() semble échouer lorsqu’on utilise une URL comme clé (même si typeof(url_variable) révèle que c’est juste une chaîne), mais si j’utilise une chaîne artificielle telle que "hello"Je suis en mesure de récupérer l’objet stocké normalement.

Existe-t-il une restriction quant à l'utilisation d'URL en tant que clé? Il n’en est pas fait mention dans l’API.

Il convient de noter que Chrome n'est pas "paramétré runtime.lastError, la recherche échoue simplement lorsque j'essaie de get() la clé qui était auparavant set() avec une URL.

Ceci est le code, pour référence:

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);
}
});
}
});
}

Réponses:

0 pour la réponse № 1

Que diriez-vous de créer l'objet d'abord comme ça Comment utiliser chrome.storage dans une extension chrome en utilisant la valeur d'une variable comme nom de clé?

Aussi peut-être essayer sauf l'exception au lieu d'utiliser un bloc if?