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

View in English Always switch to English

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 der Navigator-Schnittstelle ersetzt angegebene Zeichenfolgen in der zugeordneten URL, die einem gegebenen undurchsichtigen URN oder der internen url-Eigenschaft eines FencedFrameConfig entspricht.

Ein FencedFrameConfig oder undurchsichtiger URN wird von einer Quelle wie der Protected Audience API runAdAuction()-Methode zurückgegeben und dann als Wert von HTMLFencedFrameElement.config gesetzt. Die mit dem FencedFrameConfig oder undurchsichtigen URN verknüpfte Inhalts-URL wird intern vom Browser zugeordnet und kann nicht über JavaScript zugegriffen werden.

Es kann jedoch gewünscht sein, Teile dieser internen URL zu ersetzen. Dies ist ein gängiger Ansatz, um Laufzeitdaten in Werbekreative einzubringen, die bei der Darstellung verwendet werden. deprecatedReplaceInURN() wurde als temporäre Maßnahme bereitgestellt, um diesen Ersatz für fenced frame URLs zu ermöglichen, damit Werbetechnik-Anbieter bestehende Implementierungen auf privacy sandbox-APIs migrieren können.

Syntax

js
deprecatedReplaceInURN(UrnOrConfig, replacements) 

Parameter

UrnOrConfig

Ein FencedFrameConfig-Objekt oder ein undurchsichtiger URN, für den Sie Teile der entsprechenden 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 in einem der folgenden Formate vorliegen:
    • ${string}
    • %%string%%
  • Wenn ein URL-Abschnitt im korrekten Format vorliegt, aber der Abschnitt nicht in der URL gefunden wird, wird das zurückgegebene Versprechen dennoch erfüllt, aber es wird keine Ersetzung vorgenommen.

Rückgabewert

Ein Promise, das mit undefined erfüllt wird.

Ausnahmen

TypeError DOMException

Wird ausgelöst, wenn:

  • UrnOrConfig kein gültiges FencedFrameConfig-Objekt oder undurchsichtiger URN ist.
  • Einer der angegebenen Ersatzschlüssel nicht mit den erlaubten Formaten übereinstimmt.

Beispiele

Der folgende Aufruf könnte verwendet werden, um einen undurchsichtigen URN zurückzugeben:

js
const exampleURN = await navigator.runAdAuction({ ...auctionConfig, resolveToConfig: false, }); 

Sie können dann URL-Abschnitte mit einem deprecatedReplaceInURN()-Aufruf wie dem folgenden ersetzen:

js
await navigator.deprecatedReplaceInURN(exampleURN, { "${foo}": "1", "${bar}": "2", "%%baz%%": "3", }); 

Wenn die interne URL, die mit dem URN verknüpft ist, ursprünglich ist:

http
https://example.com/a=${foo}&b=${bar}&c=%%baz%% 

Wird sie nach dem Ersetzen zu:

http
https://example.com/a=1&b=2&c=3 

Spezifikationen

Specification
Fenced Frame
# dom-navigator-deprecatedreplaceinurn

Browser-Kompatibilität

Siehe auch