Гаджет "Самые активны читатели" на blogger

Подходит больше для частокомментируемых блогов. Гаджет отображает самых активных читателей с числом их комментариев.


  1. Дизайн-Добавить гаджет-HTML/Javascript
  2. Вставляем код:



<div id="mx-ac"></div>   <script type="text/javascript">     var maxList = 5;     var sFilter = "";     var baseUrl = "http://вашсайт/";     var commentsUrl = "feeds/comments/default?alt=json-in-script&callback=listComments";     var aFilter = sFilter.split(",");        function oCommentator (name, url, num) {       this.name = name;       this.url = url;       this.num = num;     }        function doGetComments () {       var container = document.getElementById("mx-ac");       var srcComm = document.createElement("script");          srcComm.type = "text/javascript";       srcComm.src = baseUrl + commentsUrl;       container.appendChild(srcComm);     }        function isInFilter(str){       for (var i = 0; i < aFilter.length; i++) {         if (str == aFilter[i]) return(true);       }       return(false);     }        var aCommentators = new Array();        function listComments (root) {       var feed = root.feed;       var entries = feed.entry || [];       var maxNum = 0;          for (var i = 0; i < entries.length; ++i) {         var entry = entries[i];            var isInList = new Boolean();         var numInList = 0;            if ((entry.author[0].name.$t != "Anonymous") & (!isInFilter(entry.author[0].name.$t))) {           var name = entry.author[0].name.$t;           var url = entry.author[0].uri.$t;              if (aCommentators.length == 0) {             aCommentators.push(new oCommentator(name, url, 1));             maxNum = 1;           }           else {             for (var j = 0; j < aCommentators.length; j++) {               isInList = false;               if ((aCommentators[j].name == name) & (aCommentators[j].url == url)) {                 isInList = true;                 numInList = j;                 break;               }             }             if (isInList) {               aCommentators[numInList].num++;               if (maxNum < aCommentators[numInList].num)                 maxNum = aCommentators[numInList].num;             }             else               aCommentators.push(new oCommentator(name, url, 1));           }         }       }       var container = document.getElementById("mx-ac");       var divFooter = document.createElement("div");       var aFooter = document.createElement("a");          divFooter.style.fontSize = "x-small";       aFooter.appendChild(document.createTextNode("BeliberDA"));       aFooter.href = "http://beliber-da.blogspot.com";       divFooter.appendChild(document.createTextNode("Widget by "));       divFooter.appendChild(aFooter);          var numList = 0;       for (var i = maxNum; i > 0; i--) {         for (var j = 0; j < aCommentators.length; j++) {           if ((aCommentators[j].num == i)) {             var br = document.createElement("br");             var a = document.createElement("a");                a.appendChild(document.createTextNode(aCommentators[j].name + " (" + aCommentators[j].num + ")"));             a.href = aCommentators[j].url;             container.appendChild(a);             container.appendChild(br);             numList++;           }           if (numList >= maxList) break;         }         if (numList >= maxList) break;       }       container.appendChild(divFooter);     }     doGetComments();   </script>
var maxList = 5; - этот параметр указывает число комментаторов, которых будет указывать виджет.
var sFilter = ""; - тут между ковычками можно указать людей, которых не будет учитывать виджет. Ники нужно указывать через запятую БЕЗ пробелов вообще (например "вася,ваня")


2 коммент.:

Anyuta.Shi комментирует...

а этот гаждет показывает количество комментариев за какое то время?

NickJun комментирует...

А есть такой, только в аватарками?

Отправить комментарий