wake-up-neo.net

Wie kann ich Informationen lokal in meiner Chrome-Erweiterung speichern?

Ich möchte, dass meine Chrome-Erweiterung einige Informationen speichert, und ich bin mir nicht sicher, wie ich den Code starten soll ... Ich brauche es, um Zeichenfolgen zu speichern. Zum Beispiel - Der Benutzer gibt eine Zeichenfolge ein (In einem Textbereich über dem Popup) und diese Zeichenfolge wird im Popup angezeigt. Wenn der Benutzer es beendet und zurückgibt, möchte ich, dass die Zeichenfolge gleich bleibt. (Ich glaube, es muss gespeichert werden) Ich möchte es nicht auf meinem Server oder etwas Ähnlichem speichern. Ich möchte, dass es im Cache des Benutzers gespeichert wird.

50
Ariel

Jetzt können Sie auch die storage-API von Google Chrome nutzen. Im Gegensatz zu localStorage ist dies auch über Inhaltsskripts möglich.

//  Somewhere in your manifest...

{
    "permissions": [
        "storage"
    ]
}

//  Usage:

//  PERSISTENT Storage - Globally
//  Save data to storage across their browsers...

chrome.storage.sync.set({ "yourBody": "myBody" }, function(){
    //  A data saved callback omg so fancy
});

chrome.storage.sync.get(/* String or Array */["yourBody"], function(items){
    //  items = [ { "yourBody": "myBody" } ]
});

//  LOCAL Storage

// Save data to storage locally, in just this browser...

chrome.storage.local.set({ "phasersTo": "awesome" }, function(){
    //  Data's been saved boys and girls, go on home
});

chrome.storage.local.get(/* String or Array */["phasersTo"], function(items){
    //  items = [ { "phasersTo": "awesome" } ]
});

Weitere Informationen zur Funktionsweise dieser Phänomene finden Sie hier: https://developer.chrome.com/extensions/storage#type-StorageArea

Frühere Antwort:

Verwenden Sie localStorage . Google Chrome implementiert einige Funktionen von HTML5 und ist eine davon.

//Pull text from user inputbox
var data = document.getElementById("this_input").value;
//Save it to the localStorage variable which will always remember what you store in it
localStorage["inputText"] = data; 

Beachten Sie, dass Sie nur von der Hintergrundseite aus auf Ihren Speicher zugreifen können (keine Inhaltsskripts), sodass Sie dazu Messaging verwenden müssen.

90
mattsven

Es gibt jetzt eine spezifische API, überprüfen Sie diese hier: https://developer.chrome.com/extensions/storage

Beachten Sie, dass es nur auf Ihrer Hintergrundseite verfügbar ist und in einer isolierten Welt funktioniert (Sie greifen nicht auf die Werte im HTML5 localStorage der Website zu).

0
BeauCielBleu