Ich bastle schon einige Zeit an einer Webextension für Firefox. Selbige speichert relativ viele Daten als Objekt:
var cfg = {};
cfg.foo = {};
var con = {};
con.foo.bar = {};
con.foo.bar.eins = "foobar";
con.foo.bar.zwei = "barfoo";
Jetzt habe ich gerade versucht eine Funktion zu schreiben, die mir erlauben würde einzelne Unterobjekte (con.foo.bar.eins) zu löschen. Aber egal wie ich dieses Sub-Objekt an browser.storage.local.remove übergebe, ich bekomme es nicht hin.
Nach einer (zugegeben kurzen) Google-Suche bin ich nur auf eine stackoverflow-Frage für Google Chrome gestossen, bei der es hiess, dass das so nicht funktionieren würde, da nur Top-Level IDs als Parameter akzeptiert würden. Ich müsste also das betreffende Top-Level-Objekt per get abrufen, das zu löschende Objekt entfernen und dann das gesamte Top-Level-Objekt wieder speichern (womit das Sub-Objekt ja weg wäre). Das könnte ich natürlich machen, aber... :traurig:
Meine Fragen wären jetzt: Lässt sich obiges wirklich nicht anders lösen? Und wenn doch, könnte mich jemand auf ein Stück Beispielcode schubsen?
Hinweis: Ich habe die Frage parallel in de.comm.infosystems.www gestellt, aber die Gruppe ist nicht gerade sonderlich gut benutzt wie es scheint.