tl() avec Activity MapVous pouvez utiliser la méthode tl() pour suivre des éléments personnalisés et configurer le rendu des superpositions pour le contenu dynamique.
L’utilisation de la tl() méthode au sein du module Activity Map d’AppMeasurement vous permet de suivre les objets sur lesquels l’utilisateur clique, notamment ceux qui ne sont pas des balises d’ancrage ou des éléments d’image. tl() vous permet de suivre les éléments personnalisés qui ne génèrent pas de chargement de page.
Dans la méthode tl(), le paramètre linkName actuellement utilisé pour identifier les liens de sortie, les liens personnalisés, etc. est désormais utilisé pour identifier l’ID de lien pour la variable d’Activity Map.
s.tl([Link object],[Link type],[Link name],[Override variable]);
En d’autres termes, si vous utilisez tl() pour suivre vos éléments personnalisés, l’ID de lien est extrait de la valeur transmise comme troisième paramètre (Nom du lien) dans la méthode tl(). Il n’est pas extrait de l’algorithme de suivi des liens standard utilisé pour le suivi par défaut dans Activity Map.
Lorsque la méthode tl() est appelée directement à partir de l’événement "onclick" de l’élément HTML, le Activity Map peut afficher une superposition pour cet élément lorsque la page web est chargée. Exemple :
<a href="javascript:" onclick="s.tl(this,'o','Example custom link');">Example link text</a>
À chaque fois que le contenu d’une page web est ajouté à la page après le chargement initial de celle-ci, la méthode tl() est appelée indirectement et nous ne pouvons pas afficher de superpositions pour ce nouveau contenu, à moins qu’il ne soit expressément activé/visité. Un nouveau processus de collecte des liens est ensuite déclenché depuis Activity Map.
Lorsque la méthode tl() n’est pas appelée directement à partir de l’événement « onclick » de l’élément HTML, Activity Map peut uniquement afficher une superposition après que l’utilisateur a cliqué sur l’élément. Voici un exemple dans lequel la méthode tl() est appelée indirectement :
<a href="javascript:" onclick="someFn(event);">Example link text</a>
<script>function someFn (event)
{
s.tl(event.srcElement,'o','Example custom link');
}
</script>
Le meilleur moyen pour un Activity Map de superposer des liens de contenu dynamique consiste à configurer une fonction ActivityMap.link personnalisée afin d’appeler la même fonction que celle dont la valeur renvoyée est transmise à tl(). Par exemple :
var originalLinkFunction = s.ActivityMap.link;
s.ActivityMap.link = function(element,linkName)
{
// if this is a s.tl call, just return string passed
return linkName ||
// this is ActivityMap reporting time
makeLinkName(element) ||
// our custom function didn't return anything, so just return the default ActivityMap Link
originalLinkFunction(element,linkName);
};
<button type="button" onclick="s.tl(this,'o',makeLinkName(this)">Add To Cart</button>
Ici, nous avons remplacé la fonction ActivityMap.link pour effectuer l’une des trois opérations lorsqu’elle est appelée :
linkName est transmis, il a été appelé par tl(), il suffit donc de renvoyer ce que tl() a transmis en tant que linkName.linkName n’est jamais transmis. Par conséquent, appelez makeLinkName() avec l’élément de lien . Il s’agit de l’étape cruciale ici. L’appel makeLinkName(element) doit être identique au 3e argument de l’appel tl() dans la balise <button>. Cela signifie que lorsque tl() est appelé, nous suivons la chaîne renvoyée par makeLinkName(). Lorsque Activity Map crée des rapports sur les liens de la page, il utilise le même appel pour créer un lien.makeLinkName() et de ne pas avoir à fournir une valeur de retour de lien pour tous les liens de la page.