J’essaie de modifier les liens des balises en utilisant le code ci-dessous et cela semble fonctionner lors du rafraîchissement de la page ou lors de la navigation vers une nouvelle page, mais cela ne fonctionne pas lorsque vous faites défiler la page vers le bas et que le défilement infini charge de nouveaux éléments :
<script type="text/discourse-plugin" version="0.8">
api.onPageChange(() =>{
var tags = document.getElementsByClassName("discourse-tag");
for (i = 0; i < tags.length; i++) {
var tag = tags[i];
var url = tag.href;
var newUrl = "https://site.com" + url;
tag.href = newUrl;
}
});
</script>
Dois-je utiliser autre chose que api.onPageChange ou en plus de celui-ci ?
Oui, cela ne fonctionnera pas. Cela ne se déclenchera que lors d’un changement de route. Vous devez envisager de remplacer le code qui rend réellement ces balises directement plutôt que d’utiliser la sélection DOM.
Avez-vous des idées sur ce que je fais de travers ? Est-ce que quelque chose a changé depuis que j’ai lu les guides ? (Pour une raison quelconque, je pensais que c’était aussi simple que de remplacer des fichiers pour modifier de petites choses comme celle-ci).
Merci ! Curieusement, j’ai commencé à personnaliser le Tag Icons hier soir et j’ai réussi à le faire fonctionner !
Par curiosité, la méthode de remplacement de fichier du plugin telle que je l’ai décrite ci-dessus aurait-elle dû fonctionner également ? (Si oui, avez-vous une idée de ce que je faisais mal ?)