HTMLScriptElement: attributionSrc-Eigenschaft
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 attribution reporting API. >
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Die attributionSrc-Eigenschaft des HTMLScriptElement-Interfaces erhält und setzt das attributionsrc-Attribut auf einem <script>-Element programmatisch und spiegelt den Wert dieses Attributs wider. attributionsrc gibt an, dass Sie möchten, dass der Browser einen Attribution-Reporting-Eligible-Header zusammen mit der Skript-Ressourcenanfrage sendet.
Serverseitig wird dies verwendet, um das Senden eines Attribution-Reporting-Register-Source- oder Attribution-Reporting-Register-Trigger-Headers in der Antwort auszulösen, um eine JavaScript-basierte Attributionsquelle oder einen Attributionstrigger entsprechend zu registrieren. Welcher Antwortheader zurückgesendet werden sollte, hängt vom Wert des Attribution-Reporting-Eligible-Headers ab, der die Registrierung ausgelöst hat.
Hinweis:
Alternativ können JavaScript-basierte Attributionsquellen oder Trigger registriert werden, indem eine fetch()-Anfrage gesendet wird, die die attributionReporting-Option enthält (entweder direkt im fetch()-Aufruf gesetzt oder auf einem Request-Objekt, das in den fetch()-Aufruf übergeben wird), oder indem eine XMLHttpRequest mit setAttributionReporting() auf dem Anfrageobjekt gesendet wird.
Siehe die Attribution Reporting API für weitere Details.
Wert
Ein String. Es gibt zwei Versionen dieser Eigenschaft, die Sie abrufen und setzen können:
-
Leerer String, d.h.
scriptElem.attributionSrc="". Dies gibt an, dass Sie denAttribution-Reporting-Eligible-Header an denselben Server senden möchten, auf den dassrc-Attribut verweist. Dies ist akzeptabel, wenn Sie die Registrierung der Attributionsquelle oder des Triggers auf demselben Server bearbeiten. Bei der Registrierung eines Attributionstriggers ist diese Eigenschaft optional, und ein leerer Stringwert wird verwendet, wenn er weggelassen wird. -
Wert, der eine oder mehrere URLs enthält, zum Beispiel:
jsscriptElem.attributionSrc = "https://a.example/register-source https://b.example/register-source";Dies ist nützlich in Fällen, in denen die angeforderte Ressource nicht auf einem Server liegt, den Sie kontrollieren, oder wenn Sie die Registrierung der Attributionsquelle auf einem anderen Server verwalten möchten. In diesem Fall können Sie eine oder mehrere URLs als Wert von
attributionSrcangeben. Wenn die Ressourcenanforderung erfolgt, wird derAttribution-Reporting-Eligible-Header zusätzlich zum Ressourcenursprung an die imattributionSrcangegebenen URL(s) gesendet. Diese URLs können dann entsprechend mit einemAttribution-Reporting-Register-Source- oderAttribution-Reporting-Register-Trigger-Header antworten, um die Registrierung abzuschließen.Hinweis: Die Angabe mehrerer URLs bedeutet, dass mehrere Attributionsquellen auf derselben Funktion registriert werden können. Sie könnten zum Beispiel verschiedene Kampagnen haben, deren Erfolg Sie messen möchten, die das Generieren unterschiedlicher Berichte zu unterschiedlichen Daten umfassen.
Beispiele
>Setzen eines leeren attributionSrc
<script src="advertising-script.js"></script>
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = "";
Setzen eines attributionSrc, das URLs enthält
<script src="advertising-script.js"></script>
// encode the URLs in case they contain special characters
// such as '=' that would be improperly parsed.
const encodedUrlA = encodeURIComponent("https://a.example/register-source");
const encodedUrlB = encodeURIComponent("https://b.example/register-source");
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = `${encodedUrlA} ${encodedUrlB}`;