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

View in English Always switch to English

FencedFrameConfig: setSharedStorageContext() Methode

Deprecated
To be removed

This feature is pending removal from browsers. Using it now may lead to broken functionality in future updates. Following the announcement that Chrome will maintain its current approach to third-party cookies, Chrome decided to withdraw certain Privacy Sandbox features including the <fencedframe> element and related APIs.

Die setSharedStorageContext() Methode der FencedFrameConfig-Schnittstelle übergibt kontextuelle Daten vom einbettenden Dokument an den <fencedframe> Shared Storage.

Syntax

js
setSharedStorageContext(context)

Parameter

context

Ein String, der die kontextuellen Daten darstellt, die in den Shared Storage übergeben werden sollen. Einmal gesetzt, werden diese im internen Konfigurationsobjekt der FencedFrameConfig-Instanz gespeichert.

Rückgabewert

Keiner (Undefined).

Beispiele

Kontextuelle Daten über setSharedStorageContext() übergeben

Sie können die Private Aggregation API verwenden, um Berichte zu erstellen, die Ereignisdaten innerhalb von Fenced Frames mit kontextuellen Daten des einbettenden Dokuments kombinieren. setSharedStorageContext() kann verwendet werden, um kontextuelle Daten vom Einbettenden an Shared Storage Worklets zu übergeben, die von der Protected Audience API initiiert werden.

Im folgenden Beispiel speichern wir Daten sowohl von der einbettenden Seite als auch vom Fenced Frame in Shared Storage.

In der einbettenden Seite werden wir eine simulierte Ereignis-ID als Shared Storage Kontext mit setSharedStorageContext() festlegen:

js
const frameConfig = await navigator.runAdAuction({ resolveToConfig: true });

// Data from the embedder that you want to pass to the shared storage worklet
frameConfig.setSharedStorageContext("some-event-id");

const frame = document.createElement("fencedframe");
frame.config = frameConfig;

Im Fenced Frame fügen wir das Worklet-Modul mit window.sharedStorage.worklet.addModule() hinzu und senden dann die Ereignisdaten in das Shared Storage Worklet mit window.sharedStorage.run() (dies steht nicht im Zusammenhang mit den kontextuellen Daten des einbettenden Dokuments):

js
const frameData = {
  // Data available only inside the fenced frame
};

await window.sharedStorage.worklet.addModule("reporting-worklet.js");

await window.sharedStorage.run("send-report", {
  data: {
    frameData,
  },
});

Im reporting-worklet.js Worklet lesen wir die Ereignis-ID des einbettenden Dokuments von sharedStorage.context und die Ereignis-Level-Daten des Frames aus dem Datenobjekt und berichten sie über Private Aggregation:

js
class ReportingOperation {
  convertEventIdToBucket(eventId) {
    // …
  }
  convertEventPayloadToValue(info) {
    // …
  }

  async run(data) {
    // Data from the embedder
    const eventId = sharedStorage.context;

    // Data from the fenced frame
    const eventPayload = data.frameData;

    privateAggregation.sendHistogramReport({
      bucket: convertEventIdToBucket(eventId),
      value: convertEventPayloadToValue(eventPayload),
    });
  }
}

register("send-report", ReportingOperation);

Spezifikationen

Spezifikation
Fenced Frame
# dom-fencedframeconfig-setsharedstoragecontext

Browser-Kompatibilität

Siehe auch