Navigator: deprecatedReplaceInURN()-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.
>
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die Methode deprecatedReplaceInURN() der Schnittstelle Navigator ersetzt bestimmte Zeichenfolgen in der zugehörigen URL einer gegebenen opaken URN oder in der internen url-Eigenschaft eines FencedFrameConfig.
Ein FencedFrameConfig oder eine opake URN wird von einer Quelle wie der runAdAuction()-Methode der Protected Audience API zurückgegeben und anschließend als Wert von HTMLFencedFrameElement.config festgelegt. Die dem FencedFrameConfig oder der opaken URN zugeordnete Inhalts-URL wird vom Browser intern zugeordnet und kann nicht über JavaScript abgerufen werden.
Möglicherweise möchten Sie jedoch Teile dieser internen URL ersetzen. Dies ist eine gängige Methode, um Laufzeitdaten an Werbemittel zu übergeben, die diese beim Rendern verwenden. deprecatedReplaceInURN() wurde als vorübergehende Maßnahme bereitgestellt, um solche Ersetzungen für URLs von Fenced Frames zu ermöglichen. Dies hilft Anbietern von Werbetechnologie, bestehende Implementierungen auf APIs der Privacy Sandbox umzustellen.
Syntax
deprecatedReplaceInURN(UrnOrConfig, replacements)
Parameter
UrnOrConfig-
Ein
FencedFrameConfig-Objekt oder eine opake URN, für die Sie Teile der zugehörigen internen URL ersetzen möchten. replacements-
Ein Objekt mit einer oder mehreren Eigenschaften, die die gewünschten Ersetzungen in der internen URL angeben. Jeder Eigenschaftsschlüssel bezeichnet einen zu ersetzenden URL-Teil, und jeder Eigenschaftswert ist die Zeichenfolge, durch die er ersetzt werden soll. Beachten Sie:
- Die zu ersetzenden URL-Teile müssen eines der folgenden Formate haben:
${string}%%string%%
- Wenn ein URL-Teil das richtige Format hat, aber in der URL nicht gefunden wird, wird das zurückgegebene Promise dennoch erfüllt; es erfolgt jedoch keine Ersetzung.
- Die zu ersetzenden URL-Teile müssen eines der folgenden Formate haben:
Rückgabewert
Ausnahmen
TypeError-
Wird ausgelöst, wenn:
UrnOrConfigkein gültigesFencedFrameConfig-Objekt und keine gültige opake URN ist.- Einer der angegebenen Schlüssel für die Ersetzung nicht einem der zulässigen Formate entspricht.
Beispiele
Der folgende Aufruf könnte verwendet werden, um eine opake URN zurückzugeben:
const exampleURN = await navigator.runAdAuction({
...auctionConfig,
resolveToConfig: false,
});
Anschließend können Sie URL-Teile mit einem Aufruf von deprecatedReplaceInURN() wie dem folgenden ersetzen:
await navigator.deprecatedReplaceInURN(exampleURN, {
"${foo}": "1",
"${bar}": "2",
"%%baz%%": "3",
});
Wenn die der URN zugeordnete interne URL zunächst wie folgt lautet:
https://example.com/a=${foo}&b=${bar}&c=%%baz%%
Lautet sie nach der Ersetzung:
https://example.com/a=1&b=2&c=3
Spezifikationen
| Spezifikation |
|---|
| Fenced Frame> # dom-navigator-deprecatedreplaceinurn> |