Кол-во shares в Facebook

Jake Foley

Мой дом здесь!
Регистрация
14 Дек 2006
Сообщения
747
Реакции
395
Приветствую,

Можете помочь с такой задачей:

Есть линк: Для просмотра ссылки Войди или Зарегистрируйся

HTML:
{
   "id": "http://yandex.ru",
   "shares": 19096,
   "comments": 7
}

Нужно через Javascript вывести только значение shares

Знаю как сделать на PHP но нужно именно на JS.
 
Решено

Нашел код и немного его подправил

HTML:
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
            var f_page = "http://ya.ru"; // the page name for your fan page, e.g. the 'wvumountaineers' part of http://facebook.com/wvumountaineers
       
            function add_commas(number) {
                if (number.length > 3) {
                    var mod = number.length % 3;
                    var output = (mod > 0 ? (number.substring(0,mod)) : '');
                    for (i=0 ; i < Math.floor(number.length / 3); i++) {
                        if ((mod == 0) && (i == 0)) {
                            output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
                        } else {
                            output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);   
                        }
                    }
                    return (output);
                } else {
                    return number;
                }
            }
           
            // when document is ready load the counts
            $(document).ready(function(){
           
                // grab from facebook
                $.getJSON('https://graph.facebook.com/'+f_page+'?callback=?', function(data) {
                    var fb_count = data['shares'].toString();
                    fb_count = add_commas(fb_count);
                    $('#fb_count').html(fb_count);
                });
           
               
           
            });
        </script>
    </head>
    <body>
       
        Facebook fan count: <span id="fb_count"></span><br />
       
       
    </body>
</html>
 
Вопрос теперь у меня в другом, как сделать так чтоб был яваскрипт и URL сайта был прописан не глобально

var f_page = "Для просмотра ссылки Войди или Зарегистрируйся";

Если у меня к примеру 3 url на одной странице которым нужно выдать кол-во shares

site1.com - xxxxx
site2.com - xxxxx
site3.com - xxxxx

как сделать чтоб по отдельности к каждому из них показать shares ?
 
Последнее редактирование:
Нужно просто три раза продублировать код присоединение инфы с Для просмотра ссылки Войди или Зарегистрируйся на кнопку, что-то в этом плане:
HTML:
....
// when document is ready load the counts
$(document).ready(function(){
f_page1 = 'http://yandex1.ru';

// grab from facebook
$.getJSON('https://graph.facebook.com/'+f_page1+'?callback=?', function(data) {
var fb_count1 = data['shares'].toString();
fb_count1 = add_commas(fb_count1);
$('#fb_count1').html(fb_count1);
});

f_page2 = 'http://yandex1.ru';

// grab from facebook
$.getJSON('https://graph.facebook.com/'+f_page2+'?callback=?', function(data) {
var fb_count2 = data['shares'].toString();
fb_count2 = add_commas(fb_count2);
$('#fb_count2').html(fb_count2);
});

f_page3 = 'http://yandex1.ru';

// grab from facebook
$.getJSON('https://graph.facebook.com/'+f_page3+'?callback=?', function(data) {
var fb_count3 = data['shares'].toString();
fb_count3 = add_commas(fb_count3);
$('#fb_count3').html(fb_count3);
});

});
 
Все оказалось намного проще и без дублирований и можно делать неограниченное число URL:

HTML:
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
            //var f_page = "http://ya.ru"; // the page name for your fan page, e.g. the 'wvumountaineers' part of http://facebook.com/wvumountaineers
      
            function add_commas(number) {
                if (number.length > 3) {
                    var mod = number.length % 3;
                    var output = (mod > 0 ? (number.substring(0,mod)) : '');
                    for (i=0 ; i < Math.floor(number.length / 3); i++) {
                        if ((mod == 0) && (i == 0)) {
                            output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
                        } else {
                            output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);  
                        }
                    }
                    return (output);
                } else {
                    return number;
                }
            }
          
            // when document is ready load the counts
            $(document).ready(function(){
                $('.fb_count').each(function(x,v){
                    var $this = $(v);
                    var url = $this.attr('data-url');
                    $.getJSON('https://graph.facebook.com/'+url+'?callback=?', function(data) {
                        var fb_count = data['shares'].toString();
                        fb_count = add_commas(fb_count);
                        $this.html(fb_count);
                    });
                })
              
              
      
            });
        </script>
    </head>
    <body>
      
        Facebook fan count ya.ru: <span class="fb_count" data-url="http://ya.ru"></span><br />
        Facebook fan count mail.ru: <span class="fb_count"  data-url="http://mail.ru"></span><br />
        Facebook fan count www.ru: <span class="fb_count"  data-url="http://www.ru"></span><br />
      
      
    </body>
</html>
 
Назад
Сверху