基本的なソーシャル共有ボタン

面倒なソースコードと複雑な詳細なカスタマイズを使用してソーシャルネットワーク上で共有するためのボタンに関する投稿に応えて、未知の、しかし間違いなく優れたプログラマーによって書かれたhabrasocietyのソリューションを示したいと思います。 この奇跡の作者は私ではありませんが、私は一緒に仕事をするプロジェクトでこのソリューションを1年以上使用しています。



HTML

<a onclick="Share.vkontakte('URL','TITLE','IMG_PATH','DESC')"> {  }</a> <a onclick="Share.facebook('URL','TITLE','IMG_PATH','DESC')"> {  }</a> <a onclick="Share.mailru('URL','TITLE','IMG_PATH','DESC')"> {  }</a> <a onclick="Share.odnoklassniki('URL','DESC')"> {  }</a> <a onclick="Share.twitter('URL','TITLE')"> {  }</a>
      
      





Js

 Share = { vkontakte: function(purl, ptitle, pimg, text) { url = 'http://vkontakte.ru/share.php?'; url += 'url=' + encodeURIComponent(purl); url += '&title=' + encodeURIComponent(ptitle); url += '&description=' + encodeURIComponent(text); url += '&image=' + encodeURIComponent(pimg); url += '&noparse=true'; Share.popup(url); }, odnoklassniki: function(purl, text) { url = 'http://www.odnoklassniki.ru/dk?st.cmd=addShare&st.s=1'; url += '&st.comments=' + encodeURIComponent(text); url += '&st._surl=' + encodeURIComponent(purl); Share.popup(url); }, facebook: function(purl, ptitle, pimg, text) { url = 'http://www.facebook.com/sharer.php?s=100'; url += '&p[title]=' + encodeURIComponent(ptitle); url += '&p[summary]=' + encodeURIComponent(text); url += '&p[url]=' + encodeURIComponent(purl); url += '&p[images][0]=' + encodeURIComponent(pimg); Share.popup(url); }, twitter: function(purl, ptitle) { url = 'http://twitter.com/share?'; url += 'text=' + encodeURIComponent(ptitle); url += '&url=' + encodeURIComponent(purl); url += '&counturl=' + encodeURIComponent(purl); Share.popup(url); }, mailru: function(purl, ptitle, pimg, text) { url = 'http://connect.mail.ru/share?'; url += 'url=' + encodeURIComponent(purl); url += '&title=' + encodeURIComponent(ptitle); url += '&description=' + encodeURIComponent(text); url += '&imageurl=' + encodeURIComponent(pimg); Share.popup(url) }, popup: function(url) { window.open(url,'','toolbar=0,status=0,width=626,height=436'); } };
      
      





共有カウンター


特定のボタンではなく、あらゆる方法で各ソーシャルネットワークのページ共有の量をカウントする必要がある場合は、もちろん理想的なオプションです。



しかし、別のタスクがありました。共有ページに直接ある共有ボタンのクリックの統計を追跡する必要がありました。 上記の共有方法から逸脱することなく、この問題はデータベース内のタブレット、別の関数パラメーター、および単純なajaxによって解決されました。

  popup: function(url,soc) { window.open(url,'','toolbar=0,status=0,width=626,height=436'); $.post('/social/share', {social:soc, page:url}, function (data){}); }
      
      





私の場合、受信スクリプトはURLからレコードIDを取得し、特定のソーシャルネットワークのレコードをタブレットに入れたり、カウンターを1増やしたりします。



このソリューションは、私が遭遇した中で最小のものであり、外観を自由にカスタマイズできます。 pluso.ruなどのサードパーティサービスを使用する必要がなくなり、独自のサーバーで独自の統計を維持することが可能になります。



All Articles