See live sample
Before Starting
Make sure first that you have the following:- Facebook Developer App ID - For sharing in Facebook
- Bit.ly API Key - For shortening the URL which is good for Twitter
- JQuery
The Snippet
// Get the current URL and strip all unnecessary parameters. $lurl = window.location.href; if ($lurl.indexOf("?")>-1){ $lurl = $lurl.substr(0,$lurl.indexOf("?")); } if ($lurl.indexOf("#")>-1){ $lurl = $lurl.substr(0,$lurl.indexOf("#")); } // Shorten URL. $surl = ""; get_short_url($lurl); // Gets the shorten URL and append the social links. function get_short_url(long_url) { var url=long_url; var username="[REPLACE WITH BIT.LY USERNAME]"; var key="[REPLACE WITH BIT.LY KEY]"; $.ajax({ url:"http://api.bit.ly/v3/shorten", data:{longUrl:url,apiKey:key,login:username}, dataType:"jsonp", success:function(v) { var bit_url=v.data.url; $surl = bit_url; $("blockquote").each(function(){ $originalHtml = $(this).html(); $originalTxt = $(this).text(); $(this).attr('id', "cbq" + cbq); $createShareButtons = createShareButtons($originalTxt, $originalHtml); $(this).append($createShareButtons); cbq++; }); } }); } // Create the Social links function createShareButtons(originalTxt, originalHtml){ $shareButtons = $("<div></div>"); $shortenText = $.trim(originalTxt).substring(0, 90) + "..." + $surl; $twitter = '<a class="shareWord" href="http://www.twitter.com/intent/tweet?via=pakiwariko&text=' + $shortenText.replace('"', '') + '" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=no,location=no,scrollbars=no,height=300,width=600');return false;" target="_blank">[Tweet] </a>'; urlAtt = $lurl; caption = "[REPLACE WITH YOUR OWN CAPTION]"; description = encodeURIComponent(originalTxt).replace('"', ''); name = $title; appId = "[REPLACE WITH FB APP ID]"; url = "https://www.facebook.com/dialog/feed?app_id="+ appId +"&link=" + urlAtt + "&caption=" + caption + "&description=" + description + "&name=" + name + "&redirect_uri=" + $lurl; $fb = '<a class="shareWord" href="'+url+'" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=no,location=no,scrollbars=no,height=300,width=600');return false;" target="_blank">[Share] </a>'; $shareButtons.append($twitter); $shareButtons.append($fb); return $shareButtons; }
Recommendation
The aim of this snippet is to add social share links at a blockquote. By simply replacing the line$("blockquote").each(function(){
you can actually use this to append on divs and other HTML tags too that support $.append()
.
No comments :
Post a Comment