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
browsingTopics()
browsingTopics(options)
Paramètres
optionsFacultatif-
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 lorsquebrowsingTopics()est invoqué. La valeur par défaut estfalse, 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,modelVersionettaxonomyVersion, 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 :
{
"configVersion": "chrome.1",
"modelVersion": "1",
"taxonomyVersion": "1",
"topic": 43,
"version": "chrome.1:1:1"
}
Exceptions
NotAllowedErrorDOMException-
Levée si :
- L'utilisation de l'API Topics est interdite par une Politique d'autorisations
browsing-topics. - Le site appelant n'a pas inclus l'API Topics dans un processus d'inscription réussi au bac à sable de confidentialité.
- L'utilisation de l'API Topics est interdite par une Politique d'autorisations
Exemples
// 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.).