SharedStorageWorklet
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Das SharedStorageWorklet-Interface der Shared Storage API repräsentiert das Shared Storage Worklet für den aktuellen Ursprung.
SharedStorageWorklet besitzt keine eigenen Eigenschaften oder Methoden. Stattdessen erbt es die Methode addModule() vom Worklet-Interface. Diese Methode wird verwendet, um ein Modul hinzuzufügen.
Im Gegensatz zu einem normalen Worklet:
- Wenn die aufrufende Seite die Shared Storage API nicht in einem Privacy Sandbox Einschreibungsprozess einbezogen hat, werden Aufrufe von
sharedStorageWorklet.addModule()abgelehnt. SharedStorageWorkleterlaubt aus Datenschutzgründen nur das Hinzufügen eines einzelnen Moduls. Selbst mit einer erfolgreichen Einschreibung werden wiederholte Aufrufe vonaddModule()auf demselben Shared Storage Worklet abgelehnt.
Auf SharedStorageWorklet wird über WindowSharedStorage.worklet zugegriffen.
Beispiele
// 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 Anleitung zu diesem Beispiel und Links zu anderen Beispielen an.
Spezifikationen
| Specification |
|---|
| Shared Storage API> # sharedstorageworklet> |