HTMLScriptElement: attributionSrc-Eigenschaft

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Die attributionSrc-Eigenschaft des HTMLScriptElement-Interfaces ruft das Attribut attributionsrc an einem <script>-Element ab und setzt es programmatisch, wobei sie den Wert dieses Attributs widerspiegelt. attributionsrc gibt an, dass Sie möchten, dass der Browser einen Attribution-Reporting-Eligible-Header zusammen mit der Anforderung für die Skriptressource sendet.

Auf der Serverseite 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 bzw. einen Attributionstrigger zu registrieren. Welcher Antwort-Header zurückgesendet werden soll, hängt vom Wert des den Registrierungsvorgang auslösenden Attribution-Reporting-Eligible-Headers ab.

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 ein XMLHttpRequest mit aufgerufener setAttributionReporting() auf dem Anforderungsobjekt gesendet wird.

Weitere Details finden Sie in der Attribution Reporting API.

Wert

Ein String. Es gibt zwei Versionen dieser Eigenschaft, die Sie abrufen und festlegen können:

  • Leerer String, d.h. scriptElem.attributionSrc="". Dies gibt an, dass Sie möchten, dass der Attribution-Reporting-Eligible-Header an denselben Server gesendet wird, auf den das src-Attribut verweist. Dies ist in Ordnung, wenn Sie die Attributionsquellen- oder Triggerregistrierung auf demselben Server handhaben. Beim Registrieren eines Attributionstriggers ist diese Eigenschaft optional, und es wird ein leerer String verwendet, wenn sie weggelassen wird.

  • Wert, der eine oder mehrere URLs enthält, zum Beispiel:

    js
    scriptElem.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 von Ihnen kontrollierten Server liegt oder Sie einfach die Registrierung der Attributionsquelle auf einem anderen Server handhaben möchten. In diesem Fall können Sie einen oder mehrere URLs als Wert von attributionSrc angeben. Wenn die Ressourcenanforderung erfolgt, wird der Attribution-Reporting-Eligible-Header an die im attributionSrc angegebene(n) URL(s) zusätzlich zum Ursprungsserver der Ressource gesendet. Diese URLs können dann mit einem entsprechenden Attribution-Reporting-Register-Source- oder Attribution-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 beispielsweise verschiedene Kampagnen haben, deren Erfolg Sie messen möchten, was die Generierung unterschiedlicher Berichte über unterschiedliche Daten beinhaltet.

Beispiele

Setzen eines leeren attributionSrc

html
<script src="advertising-script.js"></script>
js
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = "";

Setzen eines attributionSrc mit enthaltenen URLs

html
<script src="advertising-script.js"></script>
js
// 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}`;

Spezifikationen

Specification
Attribution Reporting
# dom-htmlattributionsrcelementutils-attributionsrc

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch