1Malaysia

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, December 13, 2011

Cara pasang widget Recent comments dengan avatar (image profile) di Blogspot

Posted on 6:05 AM by Unknown
Recent comments with avatar (image profile) seperti yang boleh anda lihat pada sidebar blog saya adalah widget yang sangat menarik. Widget tersebut kini memaparkan gambar avatar pemberi komen beserta dengan komen ringkas pada post yang berkaitan dalam Blogger.

Untuk memasang widget recent comment dengan avatar ini pada blog anda, sila ikut beberapa langkah di bawah.

Langkah 1

Log in blog > Dashboard > Layout > Add A Gadget. Seterusnya klik pada HTML/Javascript.

Langkah 2

Salin kod di bawah dan paste pada ruang Content HTML/Javascript (rujuk langkah 1).


<style type="text/css">
.recent-comment        {
border-bottom:#424242 1px solid;
text-transform:none;color:#fff;font-size:13px;height:55px;width:275px; padding-left: 24px; }

.recent-comment a:link {font:bold 11px Tahoma ;color: #f7441a;text-transform:uppercase; }
.recent-comment-admin  { background-color: #000; }
.recent-comment-ico    { margin-left:-20px;padding-top:5px;float:left;margin-right:8px;}
.recent-comment-header {}
.recent-comment-body   { padding-right: 4px; font-size: 95%;}
.recent-comment-footer { font-size: 85%; }
</style>
<script type="text/javascript">
//
// Recent Comments blogger gadget by MS-potilas 2011, using feed avatars
// see http://yabtb.blogspot.com/2011/12/son-of-better-recent-comments-gadget.html
//
// CONFIG:
var numRecentComments = 5;
var numPerPost = 2; // max comments per post (to try) or 0
var maxCommentChars = 70;
var maxPostTitleChars = 0; // if 0, use full post title

var txtWrote = '';
var txtMore = '';
var txtTooltip = '[user] on &quot;[title]&quot; - [date MM/dd/yyyy hh:mm]';
var txtAnonymous = ''; // empty, or Anonymous user name localized
// Variables [xxx] in texts:
// supports [title], [user], [date], [time], [datetime], [date format]
// format supports: yyyy=long year, yy=short year, MM=month(01-12), dd=monthday, hh=hour, mm=min, ss=sec

var getTitles = true;   // false faster
var trueAvatars = true; // false faster
var urlMyAvatar = '';   // can be empty (then it is fetched) or url to image
var urlMyProfile = '';  // set if you have no profile gadget on page
//
var cropAvatar = true;
var sizeAvatar = 40;
var urlNoAvatar = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_9NLrzjPp2nsCT_C2avIlOWwQmZ35sN7qlKVDOpjVNXj2wFGG3QFgQ-nSDMfMBgUAg-S6phTda4yJuPd96H-eqFMO7BKnO475Y291-yMGr5r84lUAsqRYrc1_y6y1uB2669-9qwf7u5c/"+sizeAvatar+"/avatar_blue_m_96.png"; // http://www.blogger.com/img/avatar_blue_m_96.png resizeable
//
var urlAnoAvatar = 'http://www.gravatar.com/avatar/00000000000000000000000000000000?d=mm&s=' + sizeAvatar;
var maxResultsPosts = "";       // or for example "&max-results=100"
var maxResultsComments = "";    // or for example "&max-results=300"
// CONFIG END
var urlToTitle = {};
function replaceVars(text, user, title, date) {
  text = text.replace('[user]', user);
  text = text.replace('[date]', date.toLocaleDateString());
  text = text.replace('[datetime]', date.toLocaleString());
  text = text.replace('[time]', date.toLocaleTimeString());
  text = text.replace('[title]', title.replace(/\"/g,'&quot;'));
  var i = text.indexOf("[date ");
  if(i > -1) {
    var format = /\[date\s+(.+?)\]/.exec(text)[1];
    if(format != '') {
      var txtDate = format.replace(/yyyy/i, date.getFullYear());
      txtDate = txtDate.replace(/yy/i, date.getFullYear().toString().slice(-2));
      txtDate = txtDate.replace("MM", String("0"+(date.getMonth()+1)).slice(-2));
      txtDate = txtDate.replace("mm", String("0"+date.getMinutes()).slice(-2));
      txtDate = txtDate.replace("ss", String("0"+date.getSeconds()).slice(-2));
      txtDate = txtDate.replace("dd", String("0"+date.getDate()).slice(-2));
//or: txtDate = txtDate.replace("dd", date.getDate());
      txtDate = txtDate.replace("hh", String("0"+date.getHours()).slice(-2));
//or: txtDate = txtDate.replace("hh", date.getHours());
      text = text.replace(/\[date\s+(.+?)\]/, txtDate)
    }
  }
  return text;
}
if(urlMyProfile == "") {
  var elements = document.getElementsByTagName("*");
  var expr = /(^| )profile-link( |$)/;
  for(var i=0 ; i<elements.length ; i++)
    if(expr.test(elements[i].className)) {
      urlMyProfile = elements[i].href;
      break;
    }
}
function getPostUrlsForComments(json) {
  for(var i = 0 ; i < json.feed.entry.length ; i++ ) {
    var entry = json.feed.entry[i];
    for (var k = 0; k < entry.link.length; k++ ) {
      if (entry.link[k].rel == 'alternate') {
        href = entry.link[k].href;
        break;
      }
    }
    urlToTitle[href] = entry.title.$t;
  }
}
function showRecentComments(json) {
  var postHandled = {};
  var j = 0;
  if(numPerPost) {
    while(numPerPost < numRecentComments) {
      for(var i = 0 ; i < json.feed.entry.length ; i++ ) {
        var entry = json.feed.entry[i];
        if(entry["thr$in-reply-to"]) {
          if(!postHandled[entry["thr$in-reply-to"].href])
              postHandled[entry["thr$in-reply-to"].href] = 1;
          else
              postHandled[entry["thr$in-reply-to"].href]++;
          if(postHandled[entry["thr$in-reply-to"].href] <= numPerPost)
            j++;
        }
      }
      if(j >= numRecentComments)
        break;
      numPerPost++;
      j = 0;
      postHandled = {};
    }
    if(numRecentComments == numPerPost)
       numPerPost = 0;
  }
  postHandled = {};
  j = 0;
  for(var i = 0 ; j < numRecentComments && i < json.feed.entry.length ; i++ ) {
    var entry = json.feed.entry[i];
    if(numPerPost && postHandled[entry["thr$in-reply-to"].href] && postHandled[entry["thr$in-reply-to"].href] >= numPerPost)
      continue;
    if(entry["thr$in-reply-to"]) {
      if(!postHandled[entry["thr$in-reply-to"].href])
          postHandled[entry["thr$in-reply-to"].href] = 1;
      else
          postHandled[entry["thr$in-reply-to"].href]++;
      j++;
      var href='';
      for (var k = 0; k < entry.link.length; k++ ) {
        if (entry.link[k].rel == 'alternate') {
          href = entry.link[k].href;
          break;
        }
      }
      if(href=='') {j--; continue; }
      var hrefPost = href.split("?")[0];
      var comment = "";
      if("content" in entry) comment = entry.content.$t;
      else                   comment = entry.summary.$t;
      comment = comment.replace(/<br[^>]*>/ig, " ");
      comment = comment.replace(/<\S[^>]*>/g, "");
      var postTitle="-";
      if(urlToTitle[hrefPost]) postTitle=urlToTitle[hrefPost];
      else {
        if(hrefPost.match(/\/([^/]*)\.html/)) postTitle = hrefPost.match(/\/([^/]*)\.html/)[1].replace(/_\d{2}$/, "");
        postTitle = postTitle.replace(/-/g," ");
        postTitle = postTitle[0].toUpperCase() + postTitle.slice(1);
      }
      if(maxPostTitleChars && postTitle.length > maxPostTitleChars) {
        postTitle = postTitle.substring(0, maxPostTitleChars);
        var indexBreak = postTitle.lastIndexOf(" ");
        postTitle = postTitle.substring(0, indexBreak) + "...";
      }

      var authorName = entry.author[0].name.$t;
      var authorUri = "";
      if(entry.author[0].uri && entry.author[0].uri.$t != "")
        authorUri = entry.author[0].uri.$t;
   
      var avaimg = urlAnoAvatar;
      var bloggerprofile = "http://www.blogger.com/profile/";
      if(trueAvatars && entry.author[0].gd$image && entry.author[0].gd$image.src && authorUri.substr(0,bloggerprofile.length) == bloggerprofile)
        avaimg = entry.author[0].gd$image.src;
      else {
        var parseurl = document.createElement('a');
        if(authorUri != "") {
          parseurl.href = authorUri;
          avaimg = 'http://www.google.com/s2/favicons?domain=' + parseurl.hostname;
        }
      }
      if(urlMyProfile != "" && authorUri == urlMyProfile && urlMyAvatar != "")
        avaimg = urlMyAvatar;
      if(avaimg == "http://img2.blogblog.com/img/b16-rounded.gif" && urlNoAvatar != "")
        avaimg = urlNoAvatar;
      var newsize="s"+sizeAvatar;
      avaimg = avaimg.replace(/\/s\d\d+-c\//, "/"+newsize+"-c/");
      if(cropAvatar) newsize+="-c";
      avaimg = avaimg.replace(/\/s\d\d+(-c){0,1}\//, "/"+newsize+"/");
      if(authorName == 'Anonymous' && txtAnonymous != '' && avaimg == urlAnoAvatar)
        authorName = txtAnonymous;
      var imgcode = '<img height="'+sizeAvatar+'" width="'+sizeAvatar+'" title="'+authorName+'" src="'+avaimg+'" />';
      if (authorUri!="") imgcode = '<a href="'+authorUri+'">'+imgcode+'</a>';
      var clsAdmin = "";
      if(urlMyProfile != "" && authorUri == urlMyProfile)
          clsAdmin = " recent-comment-admin";
      var datePart = entry.published.$t.match(/\d+/g); // assume ISO 8601
      var cmtDate = new Date(datePart[0],datePart[1]-1,datePart[2],datePart[3],datePart[4],datePart[5]);

      var txtHeader = txtWrote;
      if(txtWrote.indexOf('[')==-1)
        txtHeader = authorName + ' ' + txtWrote;
      else
        txtHeader = replaceVars(txtHeader, authorName, postTitle, cmtDate);

      var tooltip = replaceVars(txtTooltip, authorName, postTitle, cmtDate);
      if(!/#/.test(href)) href += "#comments";
      document.write('<div title="'+tooltip+'" class="recent-comment'+clsAdmin+'">');
      document.write('<div title="'+tooltip+'" class="recent-comment-header'+clsAdmin+'"><div title="'+tooltip+'" class="recent-comment-ico'+clsAdmin+'">'+imgcode+'</div><a title="'+tooltip+'" href="' + href + '">' + txtHeader + ' </a></div>');
      if(comment.length < maxCommentChars)
        document.write('<div title="'+tooltip+'" class="recent-comment-body'+clsAdmin+'">' + comment + '</div>');
      else {
        comment = comment.substring(0, maxCommentChars);
        var indexBreak = comment.lastIndexOf(" ");
        comment = comment.substring(0, indexBreak);
        document.write('<div title="'+tooltip+'" class="recent-comment-body'+clsAdmin+'">' + comment + '...</div>');
        if(txtMore != "") {
          var moretext = replaceVars(txtMore, authorName, postTitle, cmtDate);
          document.write('<div title="'+tooltip+'" class="recent-comment-footer'+clsAdmin+'"><a title="'+tooltip+'" href="' + href + '">' + moretext + '</a></div>');
        }
      }
      document.write('<div style="clear:both;"></div></div>');
    }
  }
}
if(getTitles)
  document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/posts/summary?redirect=false'+maxResultsPosts+'&alt=json-in-script&callback=getPostUrlsForComments"></'+'script>');
document.write('<script type="text/javascript" src="http://'+window.location.hostname+'/feeds/comments/default?redirect=false'+maxResultsComments+'&alt=json-in-script&callback=showRecentComments"></'+'script>');
</script>

Akhir sekali, klik Save.

p/s: Jika kod yang telah di save tidak berfungsi, sila gunakan kod ini (sila klik)
Email ThisBlogThis!Share to XShare to Facebook
Posted in Tutorial, widget | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Kedai Kain Rakyat 1 Malaysia
    Kedai Kain Rakyat 1 Malaysia ditubuhkan untuk mengekalkan dan meningkatkan perpaduan masyarakat yang menjadi kekuatan untuk kita pada masa ...
  • Harga Terkini Perodua Viva 2013
    Harga / Price  Perodua Viva 660  Harga / Price Perodua Viva 850 Notes :  1. Prices are with accessories. 2. Optional insurance coverage a) W...
  • Gaji sektor awam dikaji semula tahun depan
    Kerajaan akan mengkaji semula skim gaji penjawat awam termasuk kenaikan tahunan sehingga lima peratus bermula tahun depan. Ketua Setiausaha ...
  • Honda EX5 Dream 110
    Bagi meneruskan dominasi segmen underbone, Boon Siew Honda memperkenalkan generasi ketiga EX5 di Genting Highlands, Pahang baru-baru ini. D...
  • SBPA Batal, SSM Yang Ditambah Baik Kembali
    Datuk Seri Najib Tun Razak pada Khamis mengumumkan pembatalan skim Saraan Baru Perkhidmatan Awam (SBPA) dan mengembalikan Sistem Saraan Mala...
  • cara pasang animated label cloud di blogspot
    Untuk memasang label cloud animasi pada sidebar seperti yang boleh anda lihat pada gambar yang di tunjukkan di atas, anda hanya perlu ikut b...
  • Warga Asing Sertai Kongsi Gelap
    Ops 6P Bersepadu yang dijalankan Jabatan Imigresen Pulau Pinang di sebuah penempatan buruh asing di Relau dekat sini berjaya membongkar ke g...
  • Cara pasang url tooltip di blogspot
    Tooltip yang terdapat pada blog yang berplatform wordpress kini boleh di pasang pada blog yang berplatform blogspot. Tooltip ini akan memba...
  • Tips SEO - 3 cara meningkatkan Page View dan klik pada link.
    Ramai blogger sememangnya sudah maklum bahawa, terdapat berbagai teknik dan cara bagaimana untuk kita tingkatkan SEO dalam sesebuah blog. ...
  • 5 cara untuk top monetize blog anda
    Jika anda mahukan cara-cara untuk mendapatkan wang daripada blog anda, maka artikel ini adalah untuk anda. Dalam artikel ini, kita membincan...

Categories

  • (AS 1MALAYSIA)
  • (KADS1M)
  • (MPEB)
  • (SPP1M)
  • 000 telefon percuma
  • 1 Malaysia
  • 1M4U
  • 1Malaysia For Youth
  • 2013
  • 660
  • 850
  • Agenda Majlis Pemerkasaan Ekonomi Bumiputera
  • akibat
  • AMANAH SAHAM 1MALAYSIA
  • Amanah Saham Nasional Berhad
  • Android
  • anonymous
  • ansuran bulanan
  • artis
  • asap
  • Astro Warna
  • Bantuan Lesen 1 Malaysia
  • Bantuan persekolahan
  • Bantuan Rakyat 1Malaysia
  • Barisan Nasional
  • Bayaran
  • Bayaran Saman
  • berita
  • berita terkini
  • BL1M
  • Blogger templates
  • Blogspot templates
  • Bola Sepak
  • Bonus kakitangan awam
  • Bonus Raya RM500 Kepada Kakitangan Awam 2013
  • Borang Pendaftaran
  • Borang Permohonan Subsidi Yuran Pengasuhan Kanak-Kanak Taska
  • BR1M 2.0
  • CLIXSTER Mobile Sdn Bhd
  • Daftar
  • Daftar Online Get Malaysian Business Online
  • Daftar Semak
  • download
  • Download myKPDNKK
  • E200
  • E250 BlueEFFICIENCY
  • ekonomi
  • facebook
  • Filem Paling Seram
  • Flip your text here
  • Free blogger templates
  • Free flash widget
  • Free software
  • Full Movie
  • gaji
  • Garis Panduan Subsidi Yuran Pengasuhan Kanak-Kanak Taska
  • GMBO
  • Guess writer
  • Guru Ibu bapa
  • Harga
  • Harga Honda EX5 Dream 110
  • harga kereta
  • Harga Sony Xperia Z
  • hiburan
  • honda jazz ckd
  • HTML Escaper
  • Indeks Pencemaran Udara
  • info
  • internet
  • Jabatan Pengankutan Jalan
  • Jambatan Ke-2 Pulau Pinang
  • jawatan kosong
  • jenayah
  • jerebu
  • Jerebu di Muar
  • Johor
  • Johor Darul Takzim
  • Johor Fan Club
  • JPJ
  • jquery
  • Jumlah BR1M Naik Tahun 2014
  • Kad diskaun pesara kerajaan
  • Kad Diskaun Siswa 1Malaysia
  • Kadar Zakat Fitrah 2013
  • KADS1M
  • kakitangan awam
  • kecantikan
  • Kedai Kain 1 Malaysia
  • kelajuan Internet Malaysia
  • keluagra
  • keluarga
  • kemalangan
  • Kementerian Pendidikan Malaysia
  • Keputusan Anugerah Lawak Warna 2013
  • kereta
  • kesihatan
  • KL Gangster 2 Official Trailer 2013
  • Kod warna HTML
  • komputer
  • langkah
  • Legoland
  • LYNAS
  • mahkamah
  • marketing
  • masakan
  • masterchef
  • mencegah
  • Mercedes-Benz E-Class
  • motivasi
  • MyEG
  • myvi
  • Nasi Beriani
  • Nasi Dagang
  • Nasi Goreng Special
  • Nasi Kerabu
  • Online
  • Online games
  • Online Skim Amanah Rakyat 1Malaysia
  • pemasaran
  • pembayaran
  • Pendidikan
  • Penyebab Punca Rambut Gugur
  • Perkhidmatan awam
  • Permohonan
  • perniagaan perusahaan kecil dan sederhana (PKS)
  • Perodua
  • Perumahan Rakyat !Malaysia
  • Perumahan Rakyat 1Malaysia
  • Photoshop
  • Photoshop tutorial
  • Polis Diraja Malaysia PDRM
  • politik
  • PR1MA
  • Proton Saga SV
  • Proton Suprima 1.6 Liter Turbo
  • PRU 13
  • Rebat
  • Rebate Smartphone RM 200
  • resepi
  • resepi rendang ayam
  • SAPS
  • SARA 1Malaysia
  • security
  • Semak Saman Online
  • Semakan kemasukan ke IPTA
  • Semakan Keputusan SPM Ulangan 2013
  • Semakan Online PLKN
  • Semakan Online Tawaran IPTA Sesi 2013/ 2014
  • Semakan Online Tawaran IPTA Sesi 2013/ 2014
  • Semakan penempatan PLKN
  • semakan saman online
  • Semakan Tawaran Program Kolej Vokasional KPM
  • senarai nama
  • SEO
  • Sistem Analisis Peperiksaan Sekolah
  • Sistem Semakan Online Jabatan Latihan Khidmat Negara
  • Site Map
  • Skim Prihatin Pendidikan 1Malaysia
  • Skim Rumah Pertamaku
  • SKMM
  • SRP
  • sukan
  • Syarat
  • Tablet paling nipis
  • Taman tema air
  • Tarikh
  • Tawaran 100
  • Telefon bimbit
  • Telefon Pintar
  • terbaru
  • terkini
  • Teruskan Rebat Telefon Pintar Dalam Bajet 2014 - Celcom Axiata
  • Timbang berat blog
  • Tips
  • toyota
  • Tutorial
  • UPU
  • Video and Lyric
  • Video Lelaki Serang Bekas Teman Wanita Tersebar
  • Video tutorial
  • vios
  • Viva
  • water park
  • widget
  • windows 8
  • www.khidmatnegara.gov.my

Blog Archive

  • ►  2013 (86)
    • ►  October (1)
    • ►  September (6)
    • ►  August (17)
    • ►  July (18)
    • ►  June (17)
    • ►  May (2)
    • ►  April (4)
    • ►  March (5)
    • ►  February (8)
    • ►  January (8)
  • ►  2012 (68)
    • ►  December (15)
    • ►  November (2)
    • ►  October (4)
    • ►  September (1)
    • ►  August (34)
    • ►  July (2)
    • ►  June (3)
    • ►  March (3)
    • ►  January (4)
  • ▼  2011 (46)
    • ▼  December (11)
      • Backup Driver software free download | Driver Magi...
      • GetMyBusinessOnline. 10 000 domain percuma menanti...
      • Cara pasang Recent posts floating bar widget di Bl...
      • Tips mengelakkan email dari dipenuhi Spam
      • Bagaimanakah cara untuk membuat capaian Internet p...
      • Shoutmix bakal menghentikan servis percuma awal Ja...
      • Cara pasang widget Recent comments dengan avatar (...
      • Cara pasang Sidebar Social Widget di Blogspot
      • Bagaimana hendak membuat blog di Blogger | How to ...
      • Cara pasang Recent Posts Slider versi 2
      • 10 Freeware Graphic Design terbaik
    • ►  November (16)
    • ►  October (10)
    • ►  April (1)
    • ►  February (3)
    • ►  January (5)
  • ►  2010 (72)
    • ►  December (7)
    • ►  November (5)
    • ►  October (3)
    • ►  September (2)
    • ►  August (6)
    • ►  July (5)
    • ►  June (9)
    • ►  May (2)
    • ►  April (2)
    • ►  March (10)
    • ►  February (10)
    • ►  January (11)
  • ►  2009 (98)
    • ►  December (24)
    • ►  November (14)
    • ►  October (20)
    • ►  September (6)
    • ►  August (6)
    • ►  July (5)
    • ►  June (23)
Powered by Blogger.

About Me

Unknown
View my complete profile