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

Document : méthode browsingTopics()

Non standard: Cette fonctionnalité n'est pas standardisée. Nous déconseillons d'utiliser des fonctionnalités non standard en production, car leur prise en charge par les navigateurs est limitée, et elles peuvent être modifiées ou supprimées. Toutefois, elles peuvent constituer une alternative appropriée dans certains cas où aucune option standard n'existe.

Obsolète: Cette fonctionnalité n'est plus recommandée. Même si certains navigateurs la prennent encore en charge, elle a peut-être déjà été supprimée des standards du web, est en passe d'être supprimée ou n'est conservée qu'à des fins de compatibilité. Évitez de l'utiliser et mettez à jour le code existant si possible ; consultez le tableau de compatibilité au bas de cette page pour vous aider à prendre votre décision. Sachez que cette fonctionnalité peut cesser de fonctionner à tout moment.

Attention : Cette fonctionnalité est actuellement opposée par deux fournisseurs de navigateurs. Voir la section Positions sur les standards ci-dessous pour plus de détails sur l'opposition.

Note : Un processus d'inscription est requis pour utiliser cette fonctionnalité dans vos applications.

La méthode browsingTopics() de l'interface Document retourne une promesse qui se résout avec un tableau d'objets représentant les principaux sujets pour l'utilisateur·ice, un pour chacune des trois dernières époques. Ces sujets peuvent ensuite être retournés à la plateforme publicitaire dans une requête fetch ultérieure. Par défaut, la méthode fait également en sorte que le navigateur enregistre la visite de la page actuelle comme observée par l'appelant, de sorte que le nom d'hôte de la page puisse être utilisé ultérieurement dans le calcul des sujets.

Voir Utiliser l'API Topics pour plus de détails.

Note : browsingTopics() ne repose pas sur les en-têtes HTTP pour envoyer les sujets et marquer les sujets comme observés comme le font les autres fonctionnalités activant l'API Topics, mais elle est un peu moins performante. Il est conseillé d'utiliser l'une des fonctionnalités utilisant les en-têtes HTTP, en revenant à browsingTopics() uniquement dans les situations où les en-têtes ne peuvent pas être modifiés.

Syntaxe

js
browsingTopics()
browsingTopics(options)

Paramètres

options Facultatif

Un objet d'options, qui peut contenir les propriétés suivantes :

skipObservation

Une valeur booléenne qui, si définie sur true, entraîne le navigateur à ne pas observer les sujets lorsque browsingTopics() est invoqué. La valeur par défaut est false, ce qui entraîne l'observation des sujets.

Valeur de retour

Une promesse (Promise) qui se résout avec un tableau contenant jusqu'à trois objets représentant les sujets sélectionnés par l'utilisateur pour les trois dernières époques. Chaque objet contient les propriétés suivantes :

configVersion

Une chaîne de caractères identifiant l'algorithme (autre que la partie modèle) utilisé pour calculer le sujet.

modelVersion

Une chaîne de caractères représentant le modèle utilisé pour classifier une chaîne de caractères (comme le nom d'hôte d'une page web) en identifiants de sujets.

taxonomyVersion

Une chaîne de caractères représentant la version de la taxonomie utilisée.

topic

Un nombre représentant l'identifiant du sujet, qui peut être utilisé par le navigateur pour récupérer le sujet à partir de la taxonomie (voir un exemple de taxonomie des intérêts (angl.)).

version

Les valeurs de configVersion, modelVersion et taxonomyVersion, concaténées avec des deux-points (:) entre chacune.

Les valeurs exactes des propriétés peuvent varier selon l'implémentation du navigateur. Un exemple d'objet provenant de Chrome pourrait ressembler à ce qui suit :

json
{
  "configVersion": "chrome.1",
  "modelVersion": "1",
  "taxonomyVersion": "1",
  "topic": 43,
  "version": "chrome.1:1:1"
}

Exceptions

NotAllowedError DOMException

Levée si :

Exemples

js
// Obtenir un tableau des principaux sujets pour cet utilisateur·ice
const topics = await document.browsingTopics();

// Demander une création publicitaire
const response = await fetch("https://ads.example/get-creative", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(topics),
});

// Obtenir le JSON de la réponse
const creative = await response.json();

// Afficher la publicité

Spécifications

Cette fonctionnalité ne fait pas partie d'une norme officielle, bien qu'elle soit définie dans le brouillon de proposition non officiel de l'API Topics (angl.).

Compatibilité des navigateurs

Voir aussi