Navigator: deprecatedReplaceInURN() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die deprecatedReplaceInURN()
Methode des Navigator
Interfaces ersetzt angegebene Zeichenfolgen innerhalb der zugehörigen URL, die einer gegebenen opaken URN oder der internen url
-Eigenschaft von FencedFrameConfig
zugeordnet ist.
Eine FencedFrameConfig
oder opake URN wird aus einer Quelle wie der runAdAuction()
Methode der Protected Audience API zurückgegeben und dann als Wert von HTMLFencedFrameElement.config
gesetzt. Die Inhalts-URL, die mit der FencedFrameConfig
oder opaken URN verknüpft ist, wird intern vom Browser abgebildet und kann nicht über JavaScript zugegriffen werden.
Es kann jedoch gewünscht sein, Teile dieser internen URL zu ersetzen. Dies ist ein üblicher Ansatz, um Laufzeitdaten in Anzeigencreatives zum Rendern einzufügen. deprecatedReplaceInURN()
wurde als vorübergehende Maßnahme bereitgestellt, um diesen Ersatz für fenced frame URLs zu ermöglichen, und hilft somit Ad-Tech-Anbietern, bestehende Implementierungen zu Privacy Sandbox APIs zu migrieren.
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, das eine oder mehrere Eigenschaften enthält, die die Ersetzungen darstellen, die Sie in der internen URL vornehmen möchten. Jeder Eigenschaftsschlüssel ist ein URL-Abschnitt, den Sie ersetzen möchten, und jeder Eigenschaftswert ist die Zeichenfolge, durch die er ersetzt werden soll. Beachten Sie:
- Die zu ersetzenden URL-Abschnitte müssen eines der folgenden Formate haben:
${string}
%%string%%
- Sollte ein URL-Abschnitt in einem korrekten Format vorliegen, aber im URL nicht gefunden werden, wird das zurückgegebene Versprechen dennoch erfüllt, jedoch wird kein Ersatz durchgeführt.
- Die zu ersetzenden URL-Abschnitte müssen eines der folgenden Formate haben:
Rückgabewert
Ausnahmen
TypeError
DOMException
-
Ausgelöst, wenn:
UrnOrConfig
kein gültigesFencedFrameConfig
-Objekt oder keine opake URN ist.- Einer der angegebenen Ersatzschlüssel nicht den erlaubten Formaten entspricht.
Beispiele
Der folgende Aufruf könnte verwendet werden, um eine opake URN zurückzugeben:
const exampleURN = await navigator.runAdAuction({
...auctionConfig,
resolveToConfig: false,
});
Sie können dann URL-Abschnitte mit einem deprecatedReplaceInURN()
-Aufruf wie dem folgenden ersetzen:
await navigator.deprecatedReplaceInURN(exampleURN, {
"${foo}": "1",
"${bar}": "2",
"%%baz%%": "3",
});
Wenn die interne URL, die mit der URN verknüpft ist, anfänglich lautet:
https://example.com/a=${foo}&b=${bar}&c=%%baz%%
Nach dem Ersatz wird sie zu:
https://example.com/a=1&b=2&c=3
Spezifikationen
Specification |
---|
Fenced Frame # dom-navigator-deprecatedreplaceinurn |