Memasukkan Video ke dalam Komentar Blogger
Sekedar melengkapi posting ini: Memanfaatkan jQuery untuk Mengizinkan Elemen Terlarang Masuk ke dalam Kometar Blogger, Saya menggunakan elemen <a>
untuk menyisipkan video ke dalam komentar Blogger. Dengan begitu Anda tidak perlu khawatir terhadap masalah fallback yang buruk jika JavaScript dimatikan.
Saat JavaScript pada peramban diaktifkan, semua elemen tautan yang mengandung URL berpola youtube.com/embed
akan berubah menjadi video, dan jika JavaScript dimatikan, maka video tidak akan tampil pada posting komentar namun masih tetap meninggalkan elemen aslinya yaitu <a>
, sehingga saat tautan tersebut diklik, Anda akan dibawa menuju ke halaman video satu layar penuh:
<script>
//<![CDATA[
$('#comments p, #comments dd').each(function() {
$(this).find('a[href*="youtube.com/embed"]').replaceWith(function() {
return $('<iframe width="420" height="315" src="' + this.href + '"></iframe>');
});
});
//]]>
</script>
Salin kode tersebut dan letakkan di atas </body>
kemudian simpan semua perubahan.
Untuk menyisipkan video, caranya cukup dengan menyalin URL kode embed yang ada di dalam textarea (ambil URL-nya saja). Lalu kita gunakan URL tersebut sebagai pengisi atribut href
pada tautan:
<a href="Letakkan URL video di sini">Video</a>
Atau jika Anda telah menciptakan sistem untuk menghapus tautan pada semua posting komentar (seperti Saya), Anda bisa menggunakan cara lama seperti ini:
[iframe]Letakkan URL video di sini[/iframe]
Berikut ini adalah kode manipulasinya:
<script>
//<![CDATA[
$('#comments p, #comments dd').each(function() {
$(this).html(
$(this).html()
.replace(/\[iframe\](.*?)\[\/iframe\]/ig, "<iframe width='420' height='315' src='$1'></iframe>")
);
});
//]]>
</script>
Dan sebagai tambahan lagi, karena ini adalah manipulasi <iframe>
, maka Anda sebenarnya tidak harus membatasi diri dengan video. Apa saja yang bisa tampil pada elemen <iframe>
bisa ditampilkan pada posting komentar Blogger dengan metode ini.
Pembaharuan
Ucapan terimakasih kepada Mbah Qopet atas petunjuknya mengenai kekurangan metode ke dua. Masalahnya adalah, jika URL video yang dituliskan tidak sesuai dengan apa yang kita kehendaki, akan ada beberapa hal buruk yang mungkin terjadi. Misalnya, akses halaman menjadi sangat lambat karena iframe
telah mengakses URL yang salah. Belum lagi mengenai para komentator yang mungkin saja merupakan orang jahat sehingga mereka bisa saja menyisipkan URL berbahaya pada manipulasi ini. Untuk metode pertama relatif lebih aman karena di situ dengan jelas Saya telah membatasi format URL yaitu hanya untuk elemen <a>
yang mengandung URL youtube.com/embed
. Di luar syarat itu, tautan tidak akan diubah menjadi video.
Cara sederhana untuk membatasi URL pada metode ke dua adalah dengan mendeteksi apakah nilai atribut src
pada iframe
mengandung URL youtube.com/embed
atau tidak. Jika tidak, hapus atribut src
pada iframe
tersebut sehingga hal-hal buruk yang mungkin terjadi karena kesalahan URL video YouTube bisa diatasi. Berikut ini adalah kode selengkapnya untuk menyisipkan video dengan metode ke dua:
<script>
//<![CDATA[
$('#comments p, #comments dd').each(function() {
$(this).html(
$(this).html()
.replace(/\[iframe\](.*?)\[\/iframe\]/ig, "<iframe width='420' height='315' src='$1'></iframe>")
);
// Jika URL pada `iframe.video` tidak mengandung path `youtube.com/embed` ...
// ... segera hapus atribut `src` pada elemen tersebut ...
// ... lalu tambahkan latar belakang berupa gambar yang menyatakan peringatan kesalahan.
$('iframe.video:not([src*="youtube.com/embed"])')
.removeAttr('src')
.css('background', '#900 url(error.png) no-repeat 50% 50%');
});
//]]>
</script>
Saya masih tetap menyarankan Anda untuk menggunakan metode pertama yang jauh lebih sederhana. Metode ke dua ini hanya sebagai alternatif saja untuk blog-blog dengan peraturan komentar yang tidak begitu bebas seperti di blog Saya.
13 Comments:
Demo:
[iframe]http://www.youtube.com/embed/-joKveiaabA[/iframe]
By Taufik Nurrohman, at Wednesday, March 21, 2012 at 12:08:00 AM GMT+7
\o/ mantep bang
[iframe]http://www.youtube.com/watch?v=mpB9QXA9Dz4[/iframe]
harus pke http ya ?? barusan saya coba cuma pke www ngga muncul
By Aeferes / Al Firous, at Wednesday, March 21, 2012 at 2:32:00 AM GMT+7
@Mbah Qopet Lha ndi videomu Al ....?
By Kang Kapuk, at Wednesday, March 21, 2012 at 2:44:00 AM GMT+7
Jangan memakai URL yang ada di address bar, tapi ambil yang ada di bagian share or embed this video:
http://3.bp.blogspot.com/-sUW_QcIm4Z4/T2kuWbOaWkI/AAAAAAAACWc/eZgc9UkMqJs/s1600/youtube-get-embed.png
[iframe]http://www.youtube.com/embed/mpB9QXA9Dz4[/iframe]
By Taufik Nurrohman, at Wednesday, March 21, 2012 at 8:40:00 AM GMT+7
wihihihih :D
ada juga too?? ajiiib ^_^
By Putra, at Wednesday, March 21, 2012 at 11:14:00 AM GMT+7
[iframe]http://www.youtube.com/embed/GRT64z5gf5A[/iframe]
By Unknown, at Saturday, March 24, 2012 at 8:06:00 PM GMT+7
Mangstab udah bisa :)
By Unknown, at Saturday, March 24, 2012 at 8:21:00 PM GMT+7
[iframe]http://www.youtube.com/embed/ZnEr5yGVgYQ[/iframe]
By Unknown, at Tuesday, October 9, 2012 at 11:31:00 PM GMT+7
Hahaha..akhirnya berhasil juga.....
By Unknown, at Tuesday, October 9, 2012 at 11:31:00 PM GMT+7
hihihih
[iframe]http://www.youtube.com/embed/ZnEr5yGVgYQ[/iframe]
By Blog Santa Mars, at Wednesday, January 23, 2013 at 7:05:00 PM GMT+7
Untuk memasukkan tag terlarang lebih baik diutak-atik pada comment-content dari pada comment-holder dengan manipulasi replace....
By Unknown, at Monday, June 24, 2013 at 5:35:00 PM GMT+7
Dan untuk lebih mudah, aman, dan nyaman kode2 javascript lebih baik disimpan di:
Tata Letak>>add widget>>JavaScript/HTML
copas atau bikin code anda kosongkan baris judul, dari pada susah2 cari tag < / body >.
Meskipun metoda2 tersebut jalan 22nya, akan tetapi lebih baik metoda menyisipkan code di tag body dllnya pencarian tag digunakan khusus untuk mengedit template aja.
"Edit template" dan "menyisipkan code" javascript, jquery, atau kode apa pun namanya adalah 2 hal yg berbeda.
By Unknown, at Monday, June 24, 2013 at 5:47:00 PM GMT+7
comment-content itu ada di dalam atribut kelas, sedangkan comment-holder itu ada di dalam atribut ID. Tetap lebih disarankan untuk menerapkannya pada ID elemen dibandingkan kelas karena performanya lebih baik.
By Taufik Nurrohman, at Tuesday, June 25, 2013 at 11:12:00 PM GMT+7
Post a Comment
<< Home