Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLScriptElement : propriété attributionSrc

Limited availability

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.

Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.

La propriété attributionSrc de l'interface HTMLScriptElement permet d'obtenir et de définir l'attribut attributionsrc sur un élément <script> par le biais du code, reflétant la valeur de cet attribut. attributionsrc spécifie que vous souhaitez que le navigateur envoie un en-tête Attribution-Reporting-Eligible lors de la requête de la ressource du script.

Côté serveur, cela permet de déclencher l'envoi d'un en-tête Attribution-Reporting-Register-Source ou Attribution-Reporting-Register-Trigger dans la réponse, afin d'enregistrer respectivement une source d'attribution ou un déclencheur d'attribution basé sur JavaScript. L'en-tête de réponse à envoyer dépend de la valeur de l'en-tête Attribution-Reporting-Eligible qui a déclenché l'enregistrement.

Note : Il est également possible d'enregistrer des sources ou déclencheurs d'attribution JavaScript en envoyant une requête fetch() contenant l'option attributionReporting (soit directement dans l'appel à fetch(), soit sur un objet Request passé à fetch()), ou en envoyant un XMLHttpRequest avec setAttributionReporting() invoqué sur l'objet requête.

Pour plus de détails, consultez la page Attribution Reporting API.

Valeur

Une chaîne de caractères. Il existe deux versions de cette propriété que vous pouvez obtenir ou définir :

  • Une chaîne de caractères vide, c'est-à-dire scriptElem.attributionSrc="". Cela indique que vous souhaitez que l'en-tête Attribution-Reporting-Eligible soit envoyé au même serveur que celui indiqué par l'attribut src. Cela convient lorsque vous gérez l'enregistrement de la source ou du déclencheur d'attribution sur le même serveur. Lors de l'enregistrement d'un déclencheur d'attribution, cette propriété est optionnelle et une valeur vide sera utilisée si elle est omise.

  • Valeur contenant une ou plusieurs URL, par exemple :

    js
    scriptElem.attributionSrc =
      "https://a.example/register-source https://b.example/register-source";
    

    Ceci est utile lorsque la ressource demandée n'est pas sur un serveur que vous contrôlez, ou si vous souhaitez gérer l'enregistrement de la source d'attribution sur un autre serveur. Dans ce cas, vous pouvez spécifier une ou plusieurs URL comme valeur de attributionSrc. Lors de la requête de la ressource, l'en-tête Attribution-Reporting-Eligible sera envoyé aux URL spécifiées dans attributionSrc en plus de l'origine de la ressource. Ces URL peuvent alors répondre avec un en-tête Attribution-Reporting-Register-Source ou Attribution-Reporting-Register-Trigger selon le cas pour compléter l'enregistrement.

    Note : Définir plusieurs URL signifie que plusieurs sources d'attribution peuvent être enregistrées sur une même fonctionnalité. Par exemple, vous pouvez avoir différentes campagnes dont vous souhaitez mesurer le succès, ce qui implique de générer différents rapports sur différentes données.

Exemples

Définir une valeur attributionSrc vide

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

Définir une valeur attributionSrc contenant des URL

html
<script src="advertising-script.js"></script>
js
// Encoder les URL au cas où elles contiendraient des caractères spéciaux
// comme '=' qui seraient mal interprétés.
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}`;

Spécifications

Specification
Attribution Reporting
# dom-htmlattributionsrcelementutils-attributionsrc

Compatibilité des navigateurs

Voir aussi