1. Web
  2. Web-APIs
  3. WindowSharedStorage
  4. selectURL()

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: selectURL()-Methode

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.

Die selectURL()-Methode des WindowSharedStorage-Interfaces führt eine URL-Auswahloperation aus, die in einem Modul registriert ist, das der SharedStorageWorklet der aktuellen Herkunft hinzugefügt wurde.

Hinweis: Das URL Selection output gate wird verwendet, um eine URL aus einer bereitgestellten Liste auszuwählen, die dem Benutzer basierend auf geteilten Speicherdaten angezeigt wird.

Syntax

js
selectURL(name, urls)
selectURL(name, urls, options)

Parameter

name

Ein String, der den Namen der registrierten Operation im Shared-Storage-Worklet-Modul darstellt. Er muss mit dem Namen übereinstimmen, der der Operation bei der Registrierung mit SharedStorageWorkletGlobalScope.register() gegeben wurde.

urls

Ein Array von Objekten, das die URLs darstellt, zwischen denen von der URL-Auswahloperation gewählt wird. Jedes Objekt enthält zwei Eigenschaften:

url

Ein String, der die URL darstellt.

reportingMetadata Optional

Ein Objekt mit Eigenschaften, bei denen die Namen Ereignistypen und die Werte URLs sind, die auf Berichterstattungsziele verweisen, z.B. "click" : "my-reports/report1.html". Die URLs fungieren als Ziele für Berichte, die mit einem Ziel des Typs "shared-storage-select-url" übermittelt werden, typischerweise über einen Aufruf der Methode Fence.reportEvent() oder Fence.setReportEventDataForAutomaticBeacons().

options Optional

Ein Optionsobjekt, das die folgenden Eigenschaften enthalten kann:

data Optional

Ein Objekt, das alle Daten darstellt, die zur Ausführung der Operation benötigt werden.

keepAlive Optional

Ein Boolean-Wert. Wenn auf true gesetzt, bleibt der SharedStorageWorkletGlobalScope des zugehörigen Worklets aktiv, und die Operation kann erneut ausgeführt werden. Daher muss keepAlive für jede Operation auf true gesetzt werden, die nicht die letzte sein soll. Der Standardwert false bedeutet, dass der SharedStorageWorkletGlobalScope nach der Ausführung der Operation beendet wird und nicht erneut ausgeführt werden kann.

resolveToConfig Optional

Ein Boolean-Wert. Wenn auf true gesetzt, ist der Erfüllungswert des von run() zurückgegebenen Promise ein FencedFrameConfig-Objekt, das verwendet werden kann, um Inhalte in einem <fencedframe> über dessen config-Attribut zu laden. Der Standardwert false bedeutet, dass der Erfüllungswert eine URL ist, die verwendet werden kann, um Inhalte in ein <iframe> zu laden.

Rückgabewert

Ein Promise, das mit einem FencedFrameConfig-Objekt oder einem String erfüllt wird, der eine URL darstellt, abhängig vom Wert der resolveToConfig-Option.

Ausnahmen

TypeError

Wird ausgelöst, wenn:

  • Das Worklet-Modul noch nicht mit addModule() hinzugefügt wurde.
  • urls leer ist oder die maximal zulässige Länge (die browserabhängig ist) überschreitet.
  • Die url-Eigenschaft eines Objekts eine ungültige URL enthält.
  • Shared Storage deaktiviert ist (zum Beispiel über eine Browser-Einstellung).
  • Die aufrufende Seite die Shared Storage API nicht in einem erfolgreichen Einschreibungsprozess für das Privacy Sandbox aufgenommen hat.

Beispiele

Einfaches A/B-Testen

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();

Besuchen Sie die Shared Storage API-Hauptseite für eine detaillierte Anleitung zu diesem Beispiel und Links zu anderen Beispielen.

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 によって変換されたページ (->オリジナル) /