1. Web
  2. Web-APIs
  3. SharedStorageRunOperation

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

View in English Always switch to English

SharedStorageRunOperation

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 SharedStorageRunOperation-Interface der Shared Storage API repräsentiert eine Run output gate-Operation.

Instanzmethoden

run()

Definiert die Struktur, der die run()-Methode innerhalb einer Run output gate-Operation entsprechen sollte.

Beispiele

In diesem Beispiel wird eine Klasse namens ReachMeasurementOperation in einem Worklet definiert und mit SharedStorageWorkletGlobalScope.register() unter dem Namen reach-measurement registriert. SharedStorageRunOperation definiert die Struktur, der diese Klasse entsprechen muss, im Wesentlichen die Parameter, die für die run()-Methode erforderlich sind. Über diese Anforderung hinaus kann die Funktionalität der Klasse flexibel definiert werden.

js
// reach-measurement-worklet.js
const SCALE_FACTOR = 65536;
function convertContentIdToBucket(contentId) {
 return BigInt(contentId);
}
class ReachMeasurementOperation {
 async run(data) {
 const { contentId } = data;
 // Read from Shared Storage
 const key = "has-reported-content";
 const hasReportedContent = (await this.sharedStorage.get(key)) === "true";
 // Do not report if a report has been sent already
 if (hasReportedContent) {
 return;
 }
 // Generate the aggregation key and the aggregatable value
 const bucket = convertContentIdToBucket(contentId);
 const value = 1 * SCALE_FACTOR;
 // Send an aggregatable report via the Private Aggregation API
 privateAggregation.sendHistogramReport({ bucket, value });
 // Set the report submission status flag
 await this.sharedStorage.set(key, true);
 }
}
// Register the operation
register("reach-measurement", ReachMeasurementOperation);

Hinweis: Es ist möglich, mehrere Operationen im gleichen Shared-Storage-Worklet-Modulskript mit unterschiedlichen Namen zu definieren und zu registrieren. Siehe SharedStorageOperation für ein Beispiel.

Im Hauptbrowserkontext wird die reach-measurement-Operation mit der WindowSharedStorage.run()-Methode aufgerufen:

js
async function measureUniqueReach() {
 // Load the Shared Storage worklet
 await window.sharedStorage.worklet.addModule("reach-measurement-worklet.js");
 // Run the reach measurement operation
 await window.sharedStorage.run("reach-measurement", {
 data: { contentId: "1234" },
 });
}
measureUniqueReach();

Für weitere Details zu diesem Beispiel siehe Unique reach measurement. Weitere Beispiele finden Sie in der Shared Storage API.

Spezifikationen

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /