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...
  • Kad diskaun pesara kerajaan
    Kad diskaun untuk warga Angkatan Tentera Malaysia (ATM) dan Polis Diraja Malaysia (PDRM) yang dilancarkan pada Ogos tahun lalu akan diperlua...
  • Honda EX5 Dream 110
    Bagi meneruskan dominasi segmen underbone, Boon Siew Honda memperkenalkan generasi ketiga EX5 di Genting Highlands, Pahang baru-baru ini. D...
  • Subsidi Yuran Pengasuhan Kanak-kanak TASKA
    PENGENALAN Pemberian Subsidi Yuran Pengasuhan Kanak-kanak TASKA merupakan inisiatif Kerajaan di bawah Bidang Keberhasilan Utama Negara (NKRA...
  • Ansuran bulanan Proton Saga SV RM250
    Kereta baharu keluaran Proton Holdings Bhd., Proton Saga SV 1.3L yang dilancarkan kelmarin pada harga rendah, mendapat sambutan baik daripad...
  • Bagaimana hendak membuat blog di Blogger | How to Create a Blog on Blogger
    Bagaimana hendak membuat akaun Blogger? Pada halaman utama Blogger , klik "Buat Blog Anda Sekarang", dan buat Akaun Google. Anda d...
  • Memasang Iklan Nuffnang pada setiap post
    Untuk memasang Iklan Nuffnang yang bersaiz 336px x 280px (Large Rectangle) pada setiap posting seperti yang boleh anda lihat pada entri ini,...
  • 500 duri landak melekat pada muka anjing Bulldog
    Bella Mae, anjing bulldog berusia tiga tahun dari Oklahoma, mempelajari sesuatu yang mungkin tidak akan dilupakannya selepas diserang seekor...
  • Pekerja ladang mati disembelih sepupu
    MIRI: “Apa yang saya bimbang akhirnya berlaku,” kata Senab Saing, 26, isteri pekerja ladang kelapa sawit warga Indonesia yang mati akibat di...

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