Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
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
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.
reportingMetadataOptional-
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 MethodeFence.reportEvent()oderFence.setReportEventDataForAutomaticBeacons().
optionsOptional-
Ein Optionsobjekt, das die folgenden Eigenschaften enthalten kann:
dataOptional-
Ein Objekt, das alle Daten darstellt, die zur Ausführung der Operation benötigt werden.
keepAliveOptional-
Ein Boolean-Wert. Wenn auf
truegesetzt, bleibt derSharedStorageWorkletGlobalScopedes zugehörigen Worklets aktiv, und die Operation kann erneut ausgeführt werden. Daher musskeepAlivefür jede Operation auftruegesetzt werden, die nicht die letzte sein soll. Der Standardwertfalsebedeutet, dass derSharedStorageWorkletGlobalScopenach der Ausführung der Operation beendet wird und nicht erneut ausgeführt werden kann. resolveToConfigOptional-
Ein Boolean-Wert. Wenn auf
truegesetzt, ist der Erfüllungswert des vonrun()zurückgegebenenPromiseeinFencedFrameConfig-Objekt, das verwendet werden kann, um Inhalte in einem<fencedframe>über dessenconfig-Attribut zu laden. Der Standardwertfalsebedeutet, 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. urlsleer 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.
- Das Worklet-Modul noch nicht mit
Beispiele
>Einfaches A/B-Testen
// 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
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.