FastComments.com
Here you can edit and run the code snippet from our documentation.
Example Code Snippet "Callbacks Examples"
<script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script> <div id="fastcomments-widget"></div> <script> window.FastCommentsUI(document.getElementById('fastcomments-widget'), { tenantId: 'demo', onInit: function () { console.log('Library started to fetch comments!'); }, onAuthenticationChange: function (eventName, userObj) { console.log('User authenticated!', eventName, userObj); }, onRender: function () { console.log('Render event happened!'); }, commentCountUpdated: function (newCount) { console.log('New comment count:', newCount); }, onReplySuccess: function (comment) { console.log('New comment saved!', comment); }, onVoteSuccess: function (comment, voteId, direction, status) { console.log('New vote saved!', comment, voteId, direction, status); }, onImageClicked: function (src) { console.log('Image clicked!', src); }, onOpenProfile: function (userId) { console.log('User tried to open profile', userId); // return true; // return true to prevent default behavior (opening fastcomments.com user profile). }, onCommentSubmitStart: function(comment, continueSubmitFn, cancelFn) { console.log('Trying to submit comment', comment); setTimeout(function() { // emulating async behavior (calling API etc). if(confirm('Should submit?')) { continueSubmitFn(); } else { cancelFn('Some optional error message'); } }, 1000); }, onCommentsRendered: function(comments) { // comments is sorted by the default sort on the page which may be Most Relevant (ex: most upvoted, etc), or Newest First const topCommentInList = comments[0]; console.log('First Comment Rendered:', topCommentInList.avatarSrc, topCommentInList.commenterName, topCommentInList.commentHTML); } }); </script>
Result