Mon Oct 26 2020
...
Utiliser FastComments dans des applications à page unique VanillaJS
! Cet article contient du jargon technique
Public cible
Cet article s'adresse aux développeurs.
Introduction
La plupart des exemples d'utilisation du widget FastComments VanillaJS sont de très simples extraits de code qui chargent le fil de commentaires pour l'URL de la page actuelle. C'est parce que c'est le cas d'utilisation pour l'écrasante majorité de nos clients, mais récemment, nous avons constaté une affluence de développeurs construisant des SPA et utilisant FastComments.
Tout d'abord, gardez à l'esprit que FastComments dispose de composants dédiés pour React et Vue, alors jetez un œil à ceux-ci si vous utilisez ces bibliothèques pour ne pas avoir à construire votre propre wrapper autour de FastComments.
Cependant, si vous construisez votre application en utilisant VanillaJS, vous pouvez instancier et mettre à jour le widget de commentaires dynamiquement.
D'abord, l'URL et l'ID de l'URL
FastComments a deux identifiants pour la page ou l'article auquel le fil de commentaires est lié. Dans l'objet de configuration, ce sont les propriétés "url" et "urlId".
L'URL est l'URL du widget de commentaires. Idéalement, vous devriez pouvoir visiter cette URL depuis l'extérieur de votre application. Elle sera exposée en tant que lien dans les e-mails de notification et dans les outils d'administration.
L'ID de l'URL est une chaîne qui est soit une URL, soit un ID - cela peut être n'importe quelle valeur tant qu'elle représente la page actuelle. Si vous avez un post, un article ou un ID de page, vous pouvez utiliser cela au lieu de l'URL de la page pour cette valeur. La raison pour laquelle l'ID de l'URL est séparé est que vous voudrez peut-être stocker des informations supplémentaires dans l'URL qui rendraient l'URL non unique à la page.
Notez que nous avons documenté la configuration complète que le widget prend en charge en TypeScript sur GitHub.
Spécificités et une vraie démo
Lorsque le widget est instancié, capturez le résultat de la fonction FastCommentsUI que vous appelleriez normalement :
Ensuite, vous pouvez invoquer une méthode "update" sur l'objet d'instance pour mettre à jour la configuration. Cela rafraîchira le composant :
Vous pouvez voir un exemple fonctionnel avec ce fiddle.
Notez que dans cet exemple, nous utilisons document.getElementById, mais vous pouvez utiliser le mécanisme de votre choix pour récupérer l'élément cible.
Pièges
Bien que la mise à jour uniquement de "urlId" fonctionnera, vous devriez mettre à jour à la fois "urlId" et "url" même s'ils sont les mêmes afin que les liens provenant des e-mails de notification et des outils de modération fonctionnent. Mettre à jour uniquement "url" ne fonctionnera pas - les commentaires sont liés à "urlId".
En conclusion
Nous espérons que vous avez trouvé ce guide utile. N'hésitez pas à commenter ci-dessous avec vos questions.
Santé !
