2017-11-25 2 views
0

Ich entwickle eine Chrome-Erweiterung für meinen persönlichen Gebrauch. Ich habe ein Popup mit ein paar Einstellungen gespeichert (genauer gesagt möchte ich IDs speichern).JS: Chrome Storage: Wert wird nicht gespeichert

Die Berechtigungen tabs und storage sind gesetzt.

So Chrom Build-in-Storage-API Ich verwende meine Werte zu setzen und erhalten: I 3 verschiedene Werte speichern möchten:

chrome.storage.sync.set({ 'course': this.value }); und

chrome.storage.sync.set({ 'group': this.value, 'name': name});

course und group gespeichert werden , aber name ist nicht.

Also meine Frage ist, warum name nicht gespeichert ist und was ich falsch mache. Danke für die Hilfe.

EDIT 1:

Auf meinem Content-Skript bekomme ich die Daten wie folgt aus:

chrome.storage.sync.get(null, function(data) { console.log(data); });

null alle Schlüssel zu bekommen. Meine Konsolenprotokolle: {course: "1424", group: "5296"}. Kein Zeichen des Schlüssels name.

EDIT 2:

Aufgrund Ty Q Vorschlag

var obj = {}; obj['group'] = this.value; obj['name'] = name; chrome.storage.sync.set(obj);

die Einsparung funktioniert jetzt nutzen!

+0

sind Sie sicher, dass es nicht soll 'this.name' sein? Sie haben nicht den gesamten Code zur Verfügung gestellt, vorausgesetzt, ich bin mit der Entwicklung von Chrome-Erweiterungen nicht vertraut, es wäre sicher schön zu wissen, wie der Rest Ihres [relevanten] Codes aussieht. –

+0

dies. wird nicht benötigt. Ich kann dort setzen, was ich will. Es ist egal. Der Valie wird nicht gerettet. Ich kann weitere Informationen hinzufügen, wenn Sie möchten. – Techassi

+0

Idk. Wie, wo bekommst du den Wert 'name'? Auch das * könnte * Ihnen helfen? https://stackoverflow.com/questions/17331957/chrome-storage-sync-set-not-saving-values ​​ –

Antwort

0

Siehe EDIT 2 für die Lösung.

Das Erstellen eines Objekts und das Füllen mit Daten vor dem Speichern des Objekts im Speicher funktionierte sehr gut!

Danke @Ty Q.

Verwandte Themen