Frage

Ist es möglich, Daten in einer Art und Weise zu speichern, die nach einem Neustart des Browsers im Rahmen einer Chrome-Erweiterung zugänglich sein werden?

War es hilfreich?

Lösung

Noch einfacher als das:

Zum Lesen:

    var myStoredValue = localStorage["TheKeyToMyStoredValue"];

zu schreiben:

    localStorage["TheKeyToMyStoredValue"] = myNewValueToStore;

Um loszuwerden:

    delete localStorage["TheKeyToMyStoredValue"];

Andere Tipps

Ja, es ist. einen vollständigen Durchlauf von Going darüber, wie dies zu tun, wahrscheinlich die Länge einer angemessenen Antwort Stackoverflow überschreiten würde, so dass ich Sie auf dies sehr ausführliches Tutorial von Rajdeep Dua.

Der entsprechende Code würde wie folgt aussehen:

// Store item in local storage:
function setItem(key, value) {
  try {
    log("Storing [" + key + ":" + value + "]");
    window.localStorage.removeItem(key);      // <-- Local storage!
    window.localStorage.setItem(key, value);  // <-- Local storage!
  } catch(e) {
    log("Error inside setItem");
    log(e);
  }
  log("Return from setItem" + key + ":" +  value);
}

// Gets item from local storage with specified key.
function getItem(key) {
  var value;
  log('Retrieving key [' + key + ']');
  try {
    value = window.localStorage.getItem(key);  // <-- Local storage!
  }catch(e) {
    log("Error inside getItem() for key:" + key);
  log(e);
  value = "null";
  }
  log("Returning value: " + value);
  return value;
}

// Clears all key/value pairs in local storage.
function clearStrg() {
  log('about to clear local storage');
  window.localStorage.clear(); // <-- Local storage!
  log('cleared');
}

function log(txt) {
  if(logging) {
    console.log(txt);
  }
}

Chrome unterstützt auch die HTML5 Webdatenbank spec. Dadurch erhalten Sie eine lokale SQL-Datenbank, so dass Sie komplexere Dinge tun können Name / Wert-Paare in Local Storage als einfach zu speichern.

Die aktuelle Chrome-Version hat lokale Speicher.

Ich habe es selbst verwendet. Sie können modernizr verwenden, ob der Browser unterstützt es zu erkennen oder nicht. Ich habe eine Lösung für einen Kunden geschrieben, in dem ich einen Rückfall auf Cookie tun, wenn keine lokale Speicher vorhanden ist, aber das sollte kein Problem für Erweiterungen sein.

Heute könnte es besser sein chrome.storage chrome.storage ist asynchron, was macht es schneller und ist localstorage zu 5 MB beschränkt.

Es gibt bereits einige gute Antworten hier, aber beachten Sie, dass, wenn Sie sich entscheiden, einen Content-Skript in Ihrer Erweiterung zu verwenden, der Content-Skript keinen Zugriff auf local hat. deshalb chrome.storage ist eine gute Alternative.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top