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.
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', '');
});
});
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
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
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';
});
});
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
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_…
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
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
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
https://www.blogger.com/profile/13162875744493565460
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/13162875744493565460
document.addEventListener('DOMContentLoaded', () => {
// JS untuk menampilkan gambar pada komentar disini...
});
https://www.blogger.com/profile/07706142952405337288
2024-08-27T21:49:00+07:00https://www.blogger.com/profile/07706142952405337288
Image
.pre
,code
, atauquote
.Salin Kode!
lalu paste ke kolom komentar.image quote pre code