Menampilkan Komentar Gambar di Blogger dengan JavaScript

Untuk menampilkan komentar berisi link gambar di Blogger dapat dilakukan dengan manipulasi element di JavaScipt (tanpa jQuery). Kurang lebih penampakannya seperti pada thumbnail/hero postingan ini.

Menampilkan Komentar Gambar di Blogger dengan JavaScript

Hari ini saya cukup kaget setelah mendapat balasan komentar dari salah satu Blogger sepuh di Indonesia. Kang Ismet. Bahwa ternyata tampilan logo di footer agak berantakan di browser atau device lain.

Namun, yang ternyata lebih mengganggu pikiran saya adalah, isi komentar berupa link gambar yang panjang itu. 

Sedikit merepotkan untuk sekadar mendapatkan informasi dari sebuah gambar. Saya harus copy terlebih dahulu url gambar tersebut. Adapun sebelum tahapan meng-copy link gambar itu, terdapat aktifitas yang disebut dengan menyeleksi teks. Bila beruntung, saya dapat menyeleksinya dengan sekali geseran mouse. Dari awal huruf link sampai akhir, dengan penuh kewaspadaan. Terus mem-paste-nya ke tab baru di browser.

Untungnya link gambar yang dibagikan hanya satu saja. Coba bayangkan bila link gambarnya banyak, dengan panjang linknya yang bukan maen seperti itu. Tentu akan makin merepotkan.

Untuk itulah saya lakukan sedikit modifikasi lagi pada fitur komentar di blog ini. Dengan menambahkan "button" yang dengan hanya diklik, maka dia akan menampilkan link gambar pada komentar. Tanpa perlu copy-paste link dan keluar dari halaman blog untuk membuka tab baru di browser.

Untuk demonya, bisa cek langsung di komentar postingan ini: https://www.bungfrangki.com/2024/07/blogger-conditional-tags-url-contains.html

Cara Menampilkan Komentar Berisi Link Gambar di Blogspot dengan JavaScript

Cara 1 (tanpa tombol, gambar langsung tampil) 

const imgElements = document.querySelectorAll('i[rel="img"],i[rel="image"]');

imgElements.forEach((element) => {

    const imgUrl = element.textContent;

    const imgTag = document.createElement('img');

    imgTag.src = imgUrl;

    element.innerHTML = '';

    element.appendChild(imgTag);

    element.setAttribute('alt', '');

});

Cara 2 (pakai tombol)

const imgElements = document.querySelectorAll('i[rel="img"],i[rel="image"]

');

imgElements.forEach((element) => {

    const button = document.createElement('button');

    button.textContent = 'Show Image';

    button.classList.add('ShowImageComment');

    element.appendChild(button);

    button.addEventListener('click', () => {

        const imgUrl = element.textContent;

        const imgTag = document.createElement('img');

        imgTag.src = imgUrl;

        element.innerHTML = '';

        element.appendChild(imgTag);

        element.style.display = 'block';

        imgTag.setAttribute('alt', '');

    });

});


Catatan:
Agar script ini bisa berhasil, pastikan document.querySelectorAll sudah di sesuaikan di blog masing-masing. Pada tutorial ini, document.querySelectorAll yang digunakan adalah i[rel="img"] dan i[rel="image"]

Demikian, semoga bermanfaat.

14 komentar

  1. Profil:https://www.blogger.com/profile/07706142952405337288
    Alhamdulillah jadi ide postingan.. kalau mastah langsung dapet solusi, mantab.. btw ya itu konsekwensi image blogger, panjang banget url nya :)
    • Profil:https://www.blogger.com/profile/13162875744493565460
      hehehe iya kang sekarang url image blogger makin panjang aja
    • Profil:https://www.blogger.com/profile/07706142952405337288
      kayaknya kalau teks URL hilang, langsung button Show Image, lebih rapi ya.. coba JS nya kaya gimana?
    • Profil:https://www.blogger.com/profile/13162875744493565460
      mungkin seperti ini bisa kang:
      const imgElements = document.querySelectorAll('i[rel="img"]');
      imgElements.forEach((element) => {
      const imgTag = document.createElement('img');
      const imgUrl = element.textContent;
      imgTag.src = imgUrl;
      element.innerHTML = '';
      element.appendChild(imgTag);
      imgTag.style.display = 'none';
      imgTag.setAttribute('alt', '');
      const button = document.createElement('button');
      button.textContent = 'Show Image';
      button.classList.add('ShowImageComment');
      element.appendChild(button);
      button.addEventListener('click', () => {
      button.remove();
      imgTag.style.display = 'block';
      });
      });
    • Profil:https://www.blogger.com/profile/07706142952405337288
      worked.. udah saya coba di tutorial.kang-ismet.com/tryit/comment-img nanti saya terapkan di blog. tks bung
    • Profil:https://www.blogger.com/profile/13162875744493565460
      hehehe malah foto saya yang terpampang nyata disana :D
    • Profil:https://www.blogger.com/profile/07706142952405337288
      hahahaha mengingatkan pada sang pencetus :D
  2. Profil:https://www.blogger.com/profile/07706142952405337288
    kode di atas bentrok sama js emoticon, sebelum ada emoji di komentar js diatas jalan, tapi kalau udah muncul emote button show image ga bisa dibuka, ini js emote nya.. solusinya gimana bung? a = document.getElementById('comment-holder');
    if (a) {
    b = a.getElementsByTagName("p");
    for (i = 0; i < b.length; i++) {
    if (b.item(i).getAttribute('CLASS') == 'isi-komen') {
    bh_b_smly = b.item(i).innerHTML.replace(/<\3/gi, "<span class='emoji-cmt-love'/>");
    bh_b_smly = bh_b_smly.replace(/:\)/gi, "<span class='emoji-cmt'/>");
    bh_b_smly = bh_b_smly.replace(/:\(/gi, "<span class='emoji-cmt-cry'/>");
    bh_b_smly = bh_b_smly.replace(/:D/gi, "<span class='emoji-cmt-laught'/>");
    bh_b_smly = bh_b_smly.replace(/:top/gi, "<span class='emoji-cmt-thumbup'/>");
    bh_b_smly = bh_…
    • Profil:https://www.blogger.com/profile/13162875744493565460
      hmmm, padahal selectornya beda kan ya kang. awalnya saya ingin menyarankan untuk menambahkan class di img, seperti ini
      imgTag.classList.add('imageToShow');
      tapi setelah cek hasilnya saat gabungkan js dari source-code kang Ismet dengan js di atas, hasilnya kok normal ya.
      https://i.ibb.co.com/Mkn8NGF/js-image-and-icon.png
    • Profil:https://www.blogger.com/profile/13162875744493565460
      mungkin bisa coba dengan tukar posisi JS-nya kang, yang js untuk menampilkan gambar di komentar letakkan di bawah js emoticon
    • Profil:https://www.blogger.com/profile/07706142952405337288
      weleh ternyata simple cuman tukar posisi wkwkwkw... udah puyeng, tks bung... btw penambahan class udah buat nambah margin cek kang-ismet.com/p/demo-sisipan-komentar.html
    • Profil:https://www.blogger.com/profile/13162875744493565460
      nah itu udah mantap sekali :D
    • Profil:https://www.blogger.com/profile/13162875744493565460
      Atau gini aja kang, supaya nanti gak bertabrakan dengan JS yg lain di kemudian hari. bungkus aja JS untuk menampilkan gambar di komentar dengan ini:
      document.addEventListener('DOMContentLoaded', () => {

      // JS untuk menampilkan gambar pada komentar disini...

      });
    • Profil:https://www.blogger.com/profile/07706142952405337288
      tks sob... mantap tenan.. :D
  • Gunakan fitur Format Kode untuk menulis atau menyisipkan kode dan gambar dengan format tertentu.
  • Centang Beri Tahu Saya untuk mendapatkan notifikasi via Email ketika ada balasan.
  • Apabila ada pertanyaan di luar artikel silahkan telusuri atau bertanya lewat .
  • Untuk menyisipkan gambar, silahkan upload gambar terlebih dahulu. Lalu salin URL Gambar tersebut, paste ke kolom di bawah ini, lalu klik tombol Image.
  • Untuk menyisipkan Potongan Kode, atau Quote, paste kode tersebut ke kolom di bawah ini, lalu klik tombol pre, code, atau quote.
  • Untuk menulis kode dalam Syntax Highlighter gunakan format kode panjang.
  • Setelah itu, salin atau copy hasil parse dengan klik tombol icon Salin Kode! lalu paste ke kolom komentar.

image quote pre code