JSFiddle - React, Tailwind, and code Playground
JavaScript
var socialGetter = (function() {
/* just a utility to do the script injection */
function injectScript(url) {
var script = document.createElement('script');
script.async = true;
script.src = url;
document.body.appendChild(script);
}
return {
getFacebookCount: function(url, callbackName) {
injectScript('https://graph.facebook.com/?id=' + url + '&callback=' + callbackName);
},
getTwitterCount: function(url, callbackName) {
injectScript('http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=' + callbackName);
}
};
})();
// Callbacks to do something with the result
function twitterCallback(result) {
result.count && console.log('The count is: ', result.count);
}
function facebookCallback(result) {
result.shares && console.log('The count is: ', result.shares);
}
// Usage
var url = 'funcook.com';
socialGetter.getFacebookCount(url, 'facebookCallback');
socialGetter.getTwitterCount(url, 'twitterCallback');