Споделяне на цитати в Twitter и Facebook

Малък JS snippet, който дава на цитатите в текста интерактивност – те може да се кликват и да се споделят в Twitter.

Tweetable Blockquote

 

Ето и самият код:

jQuery(function($){
 
 // Tweet Blockquote
 $('blockquote.tweet').each(function(){
 via = 'billerickson';
 if( $('.author-box .icon-twitter').length ) {
 via = $('.author-summary .icon-twitter').parent().attr('href').split('/').pop();
 }
 quote = $(this).text();
 if( quote.length > 120 ) {
 quote = jQuery.trim($(this).text()).substring(0, 120).split(" ").slice(0, -1).join(" ") + '...';
 }
 url = 'https://twitter.com/intent/tweet?&text=' + encodeURIComponent( quote ) + '&via=' + via;
 $(this).append( '<a href="' + url + '" class="twitter-share-button" target="_blank"><i class="icon-twitter"></i> Tweet this</a>' );
 });
});

Ето и еквивалента му за Facebook:

 // FB Blockquote
 jQuery('.single blockquote').each(function(){
 via = 'OnTargetLiving';
 quote = jQuery(this).text();
 var currentUrl = window.location;
 url = 'http://www.facebook.com/sharer/sharer.php?u=' +currentUrl+ '&amp;title=' + encodeURIComponent( quote + ' - ' + via);
 jQuery(this).append( '<a href="' + url + '" class="facebook-share-button" target="_blank"><i class="fa fa-facebook"></i> Share this</a>' );
 });

При Facebook, обаче, не може да се дава default post text (да споделим директно цитата като текстово съобщение). Затова там скриптът споделя линк към текущата страница, но пък за да има общо със споделения цитат, го слага като заглавие на споделения линк. Единствен недостатък – ако цитатът е твърде дълъг, той ще бъде отрязан.

 

 

 

Liked Liked