15 марта 2010 г.

Живая лента в блоге

Решил я прикрутить свою "Живую ленту" в блог, виджета еще нет, поэтому пришлось в ручную. Что из этого получилось, вы можете видеть на моем блоге.
Помещаете скрипт в файл (например buzz.js) и сохраняете его на сервере.
jQuery.noConflict(); 
 (function($){
   $(document).ready(function(){
     function getGoogleBuzz(username,n, div){
      var notice = $('#my-buzz');
   notice.html('Загрузка данных ...')
      var data = {q:'http://buzz.googleapis.com/feeds/'+
                  username+'/public/posted',num:n,output:'json',v:'1.0'};
      $.ajax({
       url:'http://ajax.googleapis.com/ajax/services/feed/load',
       data:data,dataType:'jsonp',
    success:function(json){
        if(json.responseStatus!=200){
      div.html('<b style="color:red">'+ 
             json.responseDetails +'</b>'); 
      return; 
     };
        var entries= json.responseData.feed.entries;
        var length= entries.length;
        if(length==0) return; 
        var ul = $('<ul class="gb" style="display:none">'+
                   '</ul>').appendTo(div.html(''));
        for(var i=0; i<length; i++){
         var pDate = new Date(entries[i].publishedDate);
         var snippet = entries[i].contentSnippet;
         snippet = snippet.replace(/\b(https?\:\/\/\S+)/gi,
                   '<a href="$1">$1</a>');
         ul.append('<li>'+pDate.toLocaleString()+
                   '<br/><a href=&quot;'+ entries[i].link +
                   '&quot;>'+snippet +'</a></li>');
        };
        ul.show('slow');
      }
     });
     }   
     getGoogleBuzz('lesharb', 10, $('#my-buzz'));
   }); 
 })(jQuery);
Подключаете его, также для работы понадобится библиотека jQuery
<script src="http://.../jquery-1.4.2.min.js" type="text/javascript">
<script src='http://.../buzz.js' type='text/javascript'/>
И добавляете виджет HTML/JavaScript с текстом
<div id="mcp-mx">
Нашел тут, и немного оптимизировал для блога