438 Stimmen

Wann laufen Objekte im lokalen HTML5-Speicher ab?

Wie lange werden die Daten gespeichert in localStorage (als Teil der DOM-Speicherung in HTML5) verfügbar? Kann ich eine Verfallszeit für die Daten festlegen, die ich in den lokalen Speicher lege?

2voto

Kevin Leary Punkte 7707

Der Ansatz von @sebarmeli ist meiner Meinung nach der beste, aber wenn Sie die Daten nur für die Dauer einer Sitzung aufrechterhalten wollen, dann sessionStorage ist wahrscheinlich eine bessere Option:

Dies ist ein globales Objekt (sessionStorage), das einen Speicherbereich verwaltet der für die Dauer der Auslagerungssitzung verfügbar ist. Eine Seitensitzung dauert so lange, wie der Browser geöffnet ist, und überdauert die Seite Neuladen und Wiederherstellen der Seite. Das Öffnen einer Seite in einer neuen Registerkarte oder einem neuen Fenster führt zu wird eine neue Sitzung eingeleitet.

MDN: sessionStorage

2voto

Tomas Romero Punkte 8128

Umgehung mit Angular und Localforage:

angular.module('app').service('cacheService', function() {

  return {
    set: function(key, value, expireTimeInSeconds) {
      return localforage.setItem(key, {
        data: value,
        timestamp: new Date().getTime(),
        expireTimeInMilliseconds: expireTimeInSeconds * 1000
      })
    },
    get: function(key) {
      return localforage.getItem(key).then(function(item) {
        if(!item || new Date().getTime() > (item.timestamp + item.expireTimeInMilliseconds)) {
          return null
        } else {
          return item.data
        }
      })
    }
  }

})

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X