Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WindowSharedStorage

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

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

This feature does not appear to be defined in any specification.

Browser-Kompatibilität

Siehe auch