cbox

close
chat YM
Home » » Mengatasi Tombol Balas/Reply Komentar Pada Blog Yang Tidak Berfungsi

Mengatasi Tombol Balas/Reply Komentar Pada Blog Yang Tidak Berfungsi

den zuaz | 14.57 | 20comments
Kali ini saya sedikit share sebuah tips dan trik blog tentang cara mengatasi tombol balas / reply komentar yang tidak berfungsi pada blog, hal ini terjadi juga pada blog saya dan berhasil saya benahi. Postingan ini saya ambil dari salah satu blog / websait dengan alamat blog.kangismet.net. berikut ini adalah keterangan tutorialnya, silakan disimak,,

Mengatasi Error Pada Tombol Reply Komentar yang Tidak Bisa di Klik
Beberapa hari ini banyak komentar atau pertanyaan rekan-rekan blogger yang sudah menggunakan Threaded Comment (baca: Cara Membuat Threaded Comment di Blogger), ada masalah dengan tombol Reply / Balas.

Setelah saya cek, ternyata tombol reply / balas tidak berfungsi atau  form komentar tidak keluar. Hal ini disebabkan ada perubahan pada JavaScript threaded comment.

replyerror

Untuk mengatasi hal ini, ikuti langkah-langkah di bawah ini :

   1. Masuk ke Dasbor ---> Rancangan ---> Edit HTML
   2. Menjaga kegagalan, backup dulu template anda ---> Download Template Lengkap
   3. Centang Expand Template Widget
   4. Cari kode dibawah ini :

Klik show untuk melihat
<b:includable id='threaded_comment_js' var='post'>
  <script defer='defer' expr:src='data:post.commentSrc' type='text/javascript'/>

  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var postId = &#39;<data:post.id/>&#39;;
      var feed = &#39;<data:post.commentFeed/>&#39;;
      var authorName = &#39;<data:post.author/>&#39;;
      var authorUrl = &#39;<data:post.authorUrl/>&#39;;
      var blogId = &#39;<data:top.id/>&#39;;
      var baseUri = &#39;<data:post.commentBase/>&#39;;

// <![CDATA[
      feed += '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                console.log(entry.gd$extendedProperty[k].name + ' - ' + entry.gd$extendedProperty[k].value);
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = feed;
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == authorName
              && comment.author.profileUrl == authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return baseUri + '/delete-comment.g?blogID=' + blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var tok = 'comment-form_';
      var hash = window.location.hash || '';
      var startThread = hash.indexOf(tok) == 1 ? hash.substring(tok.length + 1) : undefined;

      // Configure commenting API:
      var configJso = {
        'maxDepth': 2
      };
      var provider = {
        'id': postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>
</b:includable>




5. Ganti semuanya dengan kode dibawah ini :

Klik show untuk melihat
<b:includable id='threaded_comment_js' var='post'>
  <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>

  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var config = <data:post.commentConfig/>;

// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }

      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>
</b:includable>

   6. Save Template dan silakan lihat hasilnya,,
Sumber: http://blog.kangismet.net

Posted by : den zuaz - Author Zuaz'Z Creator™

Artikel Mengatasi Tombol Balas/Reply Komentar Pada Blog Yang Tidak Berfungsi ini diposting oleh den zuaz . Terimakasih atas kunjungan Sobat serta kesediaan Sobat membaca artikel ini. Kritik dan saran dapat Sobat sampaikan melalui kotak komentar. Apabila Sobat berminat silakan copy paste artikel ini dan mohon untuk mencantumkan sumbernya dengan menyertakan script di bawah ini:

Hormat saya: den zuaz

Bagikan artikel ini sobat :
Pemberitahuan:
Mohon maaf apabila komentar Sobat dari Facebook tidak bisa saya jawab semua, dikarenakan sulit untuk memoderasi komentar dari Facebook, bila sobat ada pertanyaan yang ingin lansung saya jawab, silakan Sobat berkomentar dari id Blogger.
Komentar Sahabat
20 Komentar Sahabat

20 comments:

jenal mengatakan...

Gan gimana cara nya ,membuat klik show untuk melihat....?? follow back ya gan ane udah nih.....

Yusuf mengatakan...

Makasih ilmunya, ALhamdulillah tombol replay sudah kembali berfungsi

den zuaz mengatakan...

sama2 sob,,,
ini ilmu dari blog kang ismet,,,

black2share mengatakan...

terimakasih banyak ilmunya sob, sangat membantu sekali .....

den zuaz mengatakan...

@_black2share: Sama2 Sob,,

-Rayap KabeL- mengatakan...

Gan..sebelumnya mohon maaf saya mau tanya..
ente kok komentarnya masih pke (@_)

tombol Reply otomatisnya di blog agan fungsi??

den zuaz mengatakan...

@_-Rayap KabeL-: Template blog ini memang tidak ada tombol replynya sob,,
tutorial di atas di gunakan untuk template yang memiliki tombol reply tapi tidak berfungsi,,

IGUN Teknisi mengatakan...

Wah.. terima kasih banyak mas atas informasinya...
akhirnya reply komentar ane bisa lagi.. padahal baru dua minggu bikin blog. dah error sana sini..
mohon reviewnya mas..
terimakasih
http://ik4computer.blogspot.com

Rendy Bahari mengatakan...

makasih gan infonya.......langsung ane coba nih tutornya :)

Wahyoe Msc mengatakan...

Ane udah puyeng nyari masalah beginian, eeehhhhh akhirnya ketemu disini dan sudah terselesaikan. hahahaha
Terima kasih gan...............

Bagas Rangga Syahputra mengatakan...

dulu sih gak ada masalah , tapi tadi pas mau bales koment eh ternyata tombolnya gak bisa.... trims gan udah bisa lagi

Dedi Firmansyah mengatakan...

Berhasil gan..akhirnya setelah saya cari kemana2 ..sekarang tombol saya sudah bisa berfungsi lagi..
http://pastidapetdollar.blogspot.com

Mas Adun mengatakan...

terimakasih banyak sob, tombol balas q sudah bisa clig..

Ayik Mencue mengatakan...

not work on my new page.. please help me :(
http://moral4all.blogspot.com/

Riyan Kemal Seftiayana mengatakan...

Gan kenpa ya, punya ane kok pas klik komen blogger-nya gak muncul reply + yg komen gk display di bwah postingan, ane barusan coba cara di atas tapi tetep gk berhasil.!! Ini Contohnya @ http://www.riyanghifar.com/2013/05/cara-membuat-widget-subscription-box.html

Riyan Kemal Seftiayana mengatakan...

Gan kenpa ya, punya ane kok pas klik komen blogger-nya gak muncul reply + yg komen gk display di bwah postingan, ane barusan coba cara di atas tapi tetep gk berhasil.!!

KIR sebelasgarut mengatakan...

Terimakasih, postingan anda sangat membantu !

ninis mengatakan...

ini postingan taun 2012 berguna banget deh! makasih banyak ya, gue udah coba dan berfungsiiiii thanks beraaat:D

irvan robiansyah mengatakan...

udah ane coba, berhasil.. :D
main juga ke blog ane gan.. :)

www.irvanrobiansyah.com

Marchella Winata mengatakan...

Banteng88 MASTER AGEN BOLA
Banteng88 MASTER AGEN JUDI
Agen Bola
Agen Judi
Agen Judi Online
Agen SBOBET
Agen IBCBET
Agen Casino
Poker Online
Agen Judi Terpercaya
Prediksi Bola
Bandar Judi
Bandar Bola
Judi Online
Bola Online

Luangkanlah Sedikit Waktu Sobat Untuk Memperindah Blog Ini Dengan Berkomentar,, (^_^)

PERINGATAN,,!!!
Bagi Sobat Yang ingin berkomentar, mohon sesuaikan dengan tema pada postingan, dan saya mohon untuk tidak mencantumkan link (URL) pada komentar karena akan saya anggap spam dan mohon maaf apabila saya hapus komentar Sobat,,!!!

Pilih Bahasa Sobat

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified
Designed By: den zuaz

Baca Juga Artikel Lainya Ya

Tuker Link Banner Yook

Bagi Sahabat Blogger Yang Bersedia Untuk Bertukar Banner Dengan Blog Zuaz'Z Creator Silakan Copy Code Di Bawah Ini Untuk Dipasang Di Blog Sobat
Email: dideardana@gmail.com
Banner Zuaz'z
..::: Like this yoo :::..
..::: Award Dari Sahabat :::..

Friendship Award
Dwi Semakin Sukses

banner coa-coba
den zuaz

^_^ iklan kosong ^_^

 
Copyright © 2012. Zuaz'Z Creator™ - All Rights Reserved
..::: Template designed by den zuaz | Powered by Blogger | Thanks for visiting :::..