WindowSharedStorage

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die WindowSharedStorage-Schnittstelle der Shared Storage API repräsentiert den geteilten Speicher für einen bestimmten Ursprung innerhalb eines Standard-Browsing-Kontextes.

Auf WindowSharedStorage wird über Window.sharedStorage zugegriffen.

Instanzeigenschaften

worklet Experimentell

Enthält die Instanz des SharedStorageWorklet, die den geteilten Speicher-Arbeitsbereich für den aktuellen Ursprung repräsentiert. SharedStorageWorklet beinhaltet die Methode addModule(), die verwendet wird, um ein Modul zum geteilten Speicher-Arbeitsbereich hinzuzufügen.

Instanzmethoden

WindowSharedStorage erbt Eigenschaften von seiner Elternschnittstelle, SharedStorage.

run() Experimentell

Führt eine Run output gate Operation aus, die in einem Modul registriert wurde, das zum SharedStorageWorklet des aktuellen Ursprungs hinzugefügt wurde.

selectURL() Experimentell

Führt eine URL Selection output gate Operation aus, die in einem Modul registriert wurde, das zum SharedStorageWorklet des aktuellen Ursprungs hinzugefügt wurde.

Beispiele

js
// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
  return Math.round(Math.random());
}

async function injectContent() {
  // Add the module to the shared storage worklet
  await window.sharedStorage.worklet.addModule("ab-testing-worklet.js");

  // Assign user to a random group (0 or 1) and store it in shared storage
  window.sharedStorage.set("ab-testing-group", getExperimentGroup(), {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation
  const fencedFrameConfig = await window.sharedStorage.selectURL(
    "ab-testing",
    [
      { url: `https://your-server.example/content/default-content.html` },
      { url: `https://your-server.example/content/experiment-content-a.html` },
    ],
    {
      resolveToConfig: true,
    },
  );

  // Render the chosen URL into a fenced frame
  document.getElementById("content-slot").config = fencedFrameConfig;
}

injectContent();

Sehen Sie sich die Shared Storage API-Startseite für eine Schritt-für-Schritt-Anleitung zu diesem Beispiel und Links zu weiteren Beispielen an.

Spezifikationen

Specification
Shared Storage API
# windowsharedstorage

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch