SharedStorageWorklet
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 vor der Verwendung auf produktiven Webseiten.
Das SharedStorageWorklet
-Interface der Shared Storage API repräsentiert das Shared Storage Worklet für die aktuelle Herkunft.
SharedStorageWorklet
hat keine eigenen Eigenschaften oder Methoden. Stattdessen erbt es die addModule()
-Methode aus dem 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 einen Privacy Sandbox-Einschreibungsprozess einbezogen hat, werden Anrufe an
sharedStorageWorklet.addModule()
abgelehnt. SharedStorageWorklet
erlaubt aus Datenschutzgründen nur, ein einziges Modul hinzuzufügen. Selbst bei erfolgreicher 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();
Siehe die Shared Storage API-Übersichtsseite für eine Schritt-für-Schritt-Anleitung dieses Beispiels und Links zu anderen Beispielen.
Spezifikationen
Specification |
---|
Shared Storage API # sharedstorageworklet |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
SharedStorageWorklet | ||||||||||||
run | ||||||||||||
selectURL |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.