Emoticon Blogger Otomatis dengan jQuery
Tabel Konten
Saya baru memutuskan bahwa eksperimen ini telah berhasil sekitar satu hari yang lalu (sepertinya begitu). Ini adalah fasilitas emoticon otomatis yang akan mengubah simbol-simbol seperti :)
, :(
, dan yang lainnya menjadi gambar tertentu yang telah ditentukan. Saya menggunakan jQuery karena mungkin konsep emoticon dengan jQuery belum ada. Dan juga, lagipula Saya belum begitu berbakat untuk menuliskan kode dengan JavaScript metah. Meskipun di luar sana sudah ada beberapa tutorial sejenis misalnya Add Yahoo Smiley Emoticons on Blogger Comment, tapi Saya hanya ingin memberikan sesuatu yang sedikit berbeda dan dengan proses instalasi yang sangat mudah.
Untuk membuatnya, pertama-tama masuklah ke menu Tema kemudian klik Edit HTML dan klik Lanjutkan:
Temukan kode ini:
</body>
Salin kode di bawah ini dan letakkan di atasnya:
<style>
.emoWrap {
background-color:#EEDE86;
border:2px solid #D3BA59;
padding:10px 14px;
color:black;
font:normal bold 12px/normal Tahoma,Verdana,Arial,Sans-Serif;
text-align:center;
}
.emo,
.emoKey {
display:inline-block; /* Penting! */
*display:inline;
vertical-align:middle;
}
.emoKey {
border:1px solid #ccc;
background-color:white;
font:normal bold 11px/normal Arial,Sans-Serif;
padding:1px 2px;
margin:0 0 0 2px;
color:black;
}
</style><script src='//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script><script>
//<![CDATA[
var emoRange = "#comments p, div.emoWrap",
putEmoAbove = "#comment-editor",
emoMessage = "Untuk menyisipkan emoticon setidaknya Anda harus menambahkan satu spasi di awal simbol.";
//]]>
</script>
<script src='//cdn.rawgit.com/tovic/dte-project/0ef9de902cf286a77272f9b3c6f8168c17ab61c6/jquery-emoticons.js'></script>
Klik Simpan Tema dan lihat hasilnya.
Kode yang Saya beri garis bawah adalah jQuery. Jika tema Anda sudah dilengkapi dengan jQuery, singkirkan kode tersebut!
Lebih Jauh Lagi
Di situ terdapat setidaknya tiga variabel untuk pengaturan lanjutan:
emoRange
digunakan untuk menentukan daerah mana saja yang akan dikenai manipulasi ini. Pada opsi di atas Saya menargetkan manipulasi pada elemenp
yang berada di dalam elemen#comments
dan juga pada elemen baris emoticon utama. Anda juga bisa menargetkannya pada elemen lain, misalnya pada posting. Untuk memberlakukan manipulasi ini pada posting, cukup tambahkan selektor.post-body
pada variabel tersebut dengan memisahkannya menggunakan tanda koma.putEmoAbove
digunakan untuk menentukan di mana (di atas elemen apa) jQuery harus meletakkan daftar emoticon. Di sini Saya menuliskan nilainya pada#comment-editor
untuk meletakkannya tepat di atas formulir komentar. Terkadang mungkin ini tidak berhasil. Anda harus mencoba untuk mengubahnya dengandiv.comment-replybox-thread
atau yang lainnya sebagai elemen sasaran. Intinya adalah, carilah elemen formulir komentar pada blog Anda dan temukan ID atau kelasnya sebagai petunjuk peletakkan daftar emoticon.emoMessage
digunakan untuk menentukan pesan yang akan muncul saat pertama kali pengunjung mengeklik salah satu emoticon. Anda bisa mengubah pesan itu sesuka hati.
Bagaimana Manipulasi ini Bekerja?
Pada dasarnya Saya hanya menggunakan regex sederhana untuk mencari format teks tertentu. Dan dengan menggunakan fungsi .replace()
Saya mengubah setiap susunan karakter yang cocok dengan elemen <img>
dengan alamat gambar tertentu.
Sebagai contoh, Saya akan mengubah teks :)
menjadi <img src='smile.gif'>
. Maka yang Saya butuhkan hanyalah dua buah fungsi jQuery yaitu .html()
untuk menyalin dokumen dan .replace()
untuk mengubah teks/karakter tertentu di dalam dokumen:
$('body').html($('body').html().replace(/\s:\)/g, " <img src='smile.gif' />"));
Kode di atas akan mengubah semua karakter dengan format “satu spasi di depan + simbol :)” menjadi elemen <img src='smile.gif'>
.
Dalam regular expression, karakter spasi diwakili dengan simbol \s
. Dan juga, karena simbol )
merupakan salah satu karakter khusus dalam regex, oleh karena itu kita harus menonaktifkan karakter tersebut dengan cara menuliskan karakter \
di depannya, dengan begitu komputer tidak akan membaca karakter tersebut sebagai fungsi, melainkan sebagai teks biasa.
g
adalah global, artinya bahwa fungsi ini akan mencari semua karakter yang cocok tanpa terkecuali kemudian dia akan mengubahnya menjadi elemen gambar.
Dalam forum-forum tertentu mungkin Anda juga akan melihat peraturan yang berbeda untuk menyisipkan gambar, misalnya seperti ini:
[img]emoticon.gif[/img]
Tidak ada perbedaan dengan semua itu. Pada dasarnya kita lah yang membuat peraturan. Dalam metode penyisipan emoticon yang ke dua, Anda harus mengubah baris karakter tersebut menjadi elemen <img>
dengan nilai src
berupa teks yang berada di antara simbol [img]...[/img]
.
Dalam jQuery kita bisa menuliskannya seperti ini:
$('body').html(
$('body').html()
.replace(/\[img\]/g, "<img src='")
.replace(/\[\/img\]/g, "' />")
);
Sumber emoticon: Emoticons4u
197 Komentar
Unknown
@Taufik Nurrohman iya mas alhamdulilah dah jadi...,,, terus ko simbol :'( kaya gini ko ga kedetek ya mas,,, ga berubah jadi simbol emoticon... Apa hapus aja ya mas,,,
emo(/\s:\)+/g,
maksudnya gimana mas ????terus di postingan ga berubah ya mas ???
Padahal aku dah kasih kode
div.post-body
, semuanya jadi kaya gini mas var emoRange = "#comments p, div.emoWrap, div.post-body" tetep ga bisa,, apa ada yang masih salah ya mas ???di postingan ga berubah emoticonnya...
terima kasih....
Taufik Nurrohman
@trii waluyo Sepertinya masalahnya ada di sini:
^:D Pada dasarnya simbol tersebut sempat disalahartikan sebagai simbol
:)
dan)
. Seharusnya hasilnya akan menjadi gambar emotikon pertama dan sebuah simbol)
di belakang. Ini kesalahan interpretasi karena simbol emotikon kurang spesifik. Coba ganti simbol:))
yang ada di dalam formulir pesan komentar menjadi:)):
Saya sempat mengedit bagian itu tadi untuk menjaga kesalahpahaman cara JavaScript membaca simbol.
Emotikon di dalam posting tidak bekerja karena kelas tubuh posting di blogmu bukan memakai kelas
.post-body
tapi memakai kelas.entry
:Template blogmu bukan template standar blogspot mas, mungkin hasil adaptasi dari template Wordpress *bang*
Unknown
Kesuun bgt mas,,,:)
Bukan simbol [:)] mas, coba liat salah satu postimg aku ya mas, pasti ada 1 simbol yang tidak berubah, yang tidak berubah tanda [:'(] (tanda sedih, crying)
Hehe. . .
Iya bener mas taufik, q pake template hasil dowmload, habisan saya masih newbie,
Ya kapan-kapan saya coba pake template bawaan google. . .
Berarti intinya sama ya mas, .entry sama .post-body
Mohon pencerahaanya mas taufik :)
Taufik Nurrohman
@trii waluyo Ya, memang bukan simbol
:))
, tapi kalau salah satu simbol gagal/error, yang lain juga biasanya akan ikut terpengaruh.Template download tidak berarti tidak standar. Periksa saja elemen-elemen di dalamnya.
.post-body
dan.entry
itu bukan masalah sama atau tidaknya, mereka berdua diambil dari elemen ini:atau elemen ini:
Yang pada dasarnya memiliki tigas yang sama, yaitu membungkus isi artikel. Itu saja inti dari penyeleksian
emoRange
di sini :yaya:Unknown
@Taufik Nurrohman Lah terus aku harus gimana ya mas ??? Supaya simbol (:'() jadi emoticon :'( :'( :'( :'(
Taufik Nurrohman
@trii waluyo Coba ganti bagian ini:
jadi seperti ini:
Anonim
dan kalo Symbol (y) Menjadi Emoticon , gimana mas...?
Taufik Nurrohman
uki
Nice,ijin post di blogku. B) B) B)
tapi cara buat supaya transparent tanpa background(seperti di sini) caranya gmn ? :-bd :-bd :-bd
Taufik Nurrohman
@Uqi Hapus
background-color
danborder
di bagian ini:Unknown
mas ko simbol:) ga jadi emoticon ya di blogku ?
mohon bantuannya mas :(
Taufik Nurrohman
@Suhendrie Purnama Lepas kode yang Saya beri garis bawah lalu simpan lagi. Atau, alternatif lain yang lebih ringan namun lebih lengkap: Paket JavaScript Fitur Manipulasi Komentar Blogger
Rosyd Aqbar
gak muncul kang Tofik :(
uki
@Taufik Nurrohman Jadi gmn supaya ngk muncul di bawah comentar ?
Taufik Nurrohman
@Buka(n) Master ? Cuma bar emotikonnya saja kan yang nggak muncul? Masalahmu ada di sini =D
Taufik Nurrohman
@Uqhi•° Cek posting ini: Masalah Pesan Formulir Komentar yang Jatuh ke Bawah
Unknown
woww... it's great... :-bd keren dah,,, \o/ ane mah bikin'y juga masih yg standar, :D boleh belajar ga? hehe ^_^ ..
Surga Kenari
makasih pak, gue udah terapkan dan berhasil di post body otomatis berubah jadi emot
Yusril Ibnu Maulana
saya sudah coba...., work, tapi begini nih...
di blog saya kan gambarnya pake efek kalau di hover letak nya sedikit ke bawah (kalau gk salah namanya efek Nudging ), nah kalau di hover gambar emo nya juga jadi ikut kena efek... karena kecil jadi susah di klik nya.. :(
saya kan efek hover gambanya pake img:hover .
W: Gimana caranya agar gambar emo gk kena efek img:hover, atau mungkin bagaimana ??
Taufik Nurrohman
Coba netralkan semua transisinya di
img.emo
:Yusril Ibnu Maulana
kalau kode itu kan hanya transisi saja... :( , jadi efeknya juga harus dihilangi dengan kode :
-webkit-transform:translate(0px,0px);
-moz-transform:translate(0px,0px);
-ms-transform:translate(0px,0px);
-o-transform:translate(0px,0px);
transform:translate(0px,0px);
tapi thanks bantuanya ...
Taufik Nurrohman
Oh, ya. Mudeng... mudeng...
Unknown
mas taufik kalau mau bikin kotak search kayak di WP gimana yah?
yg bisa bergerak gitu. :D terima kasih sebelumnya
Ichsan Ramadhani
wahh, makasih mas, lgsung bekerja tu emot di blog si ayam, tambah unyu aja jadinya blog saya, heheheh, makaih ya mas :)
Bakteri
bg taufic ini saya mau tanya kenapa saya klick di komentar yang udah ada Emoticonnya eh malah ada tulisan code nya misal nya saya klick emoticon yang :p : p gitu disampingnya coba deh bg taufic test di koment abg taufic..! cara fix nya gimana yah ?
Taufik Nurrohman
Ya, memang fiturnya begitu.
indolaron
Mangtabs Kang tutorialnya... :-bd
Kemarin saya pernah mencoba memasang emo pada blog,ehhh malah efeknya "Folloers" kga muncul.
Dan saya terakkan trik ini 100% berhasil \o/
Yandi Mulyadi
Gan , Saya Sudah Memasang kode nya .. Tapi Saat Saya Masukin Kode Contoh : (:() eh malah gagal mas ...
Jadi gak ada gambarnya di komentarnya !
Yandi Mulyadi
gAN , cOBA Deh liat template blog saya ..
http://demomytemplatez.blogspot.com/2012/08/blog-post.html?showComment=1343899840788#c2011786881110214876
Masa gak ada emotikonnya?
Liat deh di http://i49.tinypic.com/2diq5pz.jpg
Taufik Nurrohman
Di depannya harus ada spasi. Kalau tidak ada spasi emotikon tidak bisa tampil.
Unknown
bErhasil juga. Thank you Bos.. :-bd
KMKO Sipil Unhas
KMKO Sipil Unhas
kalo mau bikin yang gambar sesuai keinginan kita gimana mas??
misalnya kayak gambar diatas.
tapi kode simbolnya tetap pendek, seperti yang mas bikin..
:)
Taufik Nurrohman
Baca komentar-komentar di atasnya.
KMKO Sipil Unhas
ohhh iyaaaaa...
udah bisaaa nihh..
makasih banget yaaa...
kunjungi blog kami juga yaaa..
http://kmkosipil.blogspot.com/
DARK
work bang
thanks !!
admin
mas cara membuat kode emot nya tertutup otomatis dan menambah tulisan "klik utk melihat kode"" bagaimana? "seperti punya mas diatas"
Taufik Nurrohman
JavaScript sudah diperbaharui. Tinggal memakai saja :)
Tulisan "klik untuk melihat kode" bisa dibuat dengan cara menuliskan daftar emotikon secara manual, dan mengganti nilai variabel
putEmoAbove
menjadifalse
:Unknown
Terima kasih ya membantu sekali artikelnya...
Unknown
:D
Unknown
:) thank you Gan...
folow me ya?
Unknown
Bang Taufik, kalau Emotionnya yang ini untuk postingan saja bukan untuk komentar, apa scriptnya bang?? :(
Unknown
Setelah saya tambahin class nya kok malah gak muncul ya bang di postingan dan komentarnya juga?? munculnya cuman di HOMEpage saja..
beginikan cara nambahinnya bang??
emoRange = "#comments p, div.emoWrap, .post",
ada solusinya gak bang?? ini blog saya gubuk45.com
Unknown
emoRange = "#comments p, div.emoWrap, div.post-body ",
begini juga sama bang hasilnya.. :(
Taufik Nurrohman
Coba ini:
Unknown
tidak berhasil juga bang,,,, >.<
Unknown
ad alternatif lain gak bang??? :(
Taufik Nurrohman
Tidak ada. Sesuai salah satu komentar dari trii waluyo di atas, seharusnya memakai cara sebelumnya sudah cukup.
vongola
berarti kesimpulannya, ini gak bisa di pake buat di postingan ya bang?
soalnya seru aja ngasih emot di postingan :D
kalau pake manual kan repot bang..
Nyak
Mas, mau tanya, apakah ini ringan atau berat untuk loading blog..? :Q
Anonim
mas cara ngilanin link css ini di blog gimana ya
//www.blogger.com/static/v1/widgets/1937454905-widget_css_bundle.css
soalnya ada yg ga bisa saya ubah gara2 itu
Unknown
kalo mau itu bisa di ilangin tapi lupa kemarin tk taruh aman, tp ati2 aja kalo itu kamuilangin entar banyak widget yang berantakan, soalnya css widget bawaan blogger bersal dari situ semua.
kalo mau gampang pake cara ini, tambahin ini !important di belakang kode cssmu
Contoh
#bd-box {
width: 96%;
height: 300px !important;
border-radius: 10px;
background: #222
color: #fff !important;/*tambahin kode itu fungsinya agar css yg baru lebih diutamakan drpada css wbundle dari blogger */
padding: 10px;
}
alansinggih
mas taufik yang pintar and jenius \o/ ,,, saya minta izin ambil nie kode,,, salam kenal :) hebat pokok,na :-bd,,,
tapi sya boleh ngrubah kan,,,,,,,,????????? ;)
Unknown
NICE !!! :yaya:
IRIL SAGITA
Kak taufik, kalau di blog kenapa ini bisa tampil setelah ada komentar, tapi sebelum ada komentar tidak bisa tampil ?
dan kenapa area coe emotnya gak bisa ketutup sacara otomatis jika di klik diluar area itu ?
kira-kira dimana letak kesalahannya, apa saya salah dalam edit javascript nya ya ?
tolong bantuannya kak....
IRIL SAGITA
Solusinya gimana kak ?
IRIL SAGITA
Maaf, sekaran sudah bisa ketutup secara otomatis, tetapi masalahnya sekarang jika di klik kanan and copy pada area code emotikcon gak bisa, karena langsung ketutup.
satu lagi jika dalam posting belum ada komentar emoticon gak tampil.
sampai puyeng utak-utik code, tolong aku ya kak ?
Taufik Nurrohman
Coba pada bagian klik emot diganti pakai ini:
monz
mas, kok emoticon nya tetep gk muncul ya di blog saya waktu masukin symbolnya??
tolong pencerahannya ya.. thanks
azewdsignet
Mas ko jadi gini, pas saya merubah tampilan lebih sedikit emoticonya..!!
mohon bantuanya.. :'( :'(
Taufik Nurrohman
Ganti selektornya menjadi seperti ini:
azewdsignet
makasih sudah berhasil mas..!!
tapi sayang tulisan ( klik untuk melihat code!) munculnya seperti gambar di atas :(
azewdsignet
kira" kalau emoticonya tampil di komentar " disqus " bisa ga mas taufik??
Taufik Nurrohman
Tidak bisa. Bukannya Disqus sudah punya emot sendiri?
azewdsignet
engga ada mas`udah di cari" di disqus ga ada..!!
oh iya mas`mau naya lagi knpa emoticon yg tampil pada gambar di atas malah ada yg di bawah kan kalau punya mas itu sejajar..!!
Taufik Nurrohman
Ganti karakter
<
jadi<
dan>
jadi>
Jangan menekan tombol ganti baris.
Yopi Hasopa
Mas Tovic, saya sudah pasang emoticon otomatis ini dalam tag
entry-content
. Nah masalahnya dalam tagentry-content
ada tag lainnya, misal tagpre
yang terdapat beberapa kode malah menjadi gambar emoticon. Bisa tidak tagpre
ini menjadi daerah pengecualian emoticon otomatis?? :pTerima kasih :)
Taufik Nurrohman
Kalau kamu memakai tag
<p>
untuk mengitari teks, bisa dengan cara menargetkan tag paragraf itu (tag PRE berada di luar paragraf):Yopi Hasopa
Blogspot kan gak pake tag p buat ngebungkus paragrafnya Mas? Beda sama wordpress :(
Jadi gak bisa pake trik pengecualian area ya Mas? hehe.. =p*
Unknown
wah kalau saya menggunakan komentar bertingkat dari artikel mas taufik yang ini: http://www.dte.web.id/2013/01/membuat-fitur-komentar-berbalas.html
berarti saya hanya perlu merubah
putEmoAbove = "#comment-editor", menjadi putEmoAbove = ".custom-comments #comment-editor" ya?
tapi kenapa emoticon nya tidak muncul sama sekali mas diatas formulir komentarnya? :(
Taufik Nurrohman
Harusnya muncul.
Unknown
saya juga bingung kenapa gak muncul mas
contohnya gini: http://metal-x-gen.blogspot.com/2013/01/lorem-ipsum.html
Unknown
udah bisa mas, ternyata saya mengalami kesalahan saat mengubah id daerah yang akan terkena manipulasi, tapi udah berhasil sekarang :D makasih
budkalon
bang Taufik, kalau mau si gambarnya diberi max size bisa ga?
Jadi nanti pas gambarnya muncul, ukurannya tidak bisa melebihi ukuran maksimal yang telah ditentukan.
Mohon bantuannya. :)
Taufik Nurrohman
Alwan
Mas kok saya nggak bisa di kopi paste, pas diklik kan keluar kodenya, pas klik kanan, kodenya langsung hilang. :p
Taufik Nurrohman
Sudah diperbaiki.
Alwan
udah bisa mas makasih banyak.
oh iya, kalo pengen mengurangi julah emoticonnya gimana mas?
ARLIAN
berjalan dengan sempurna.. mantap gan..
emotion nya bisa di ganti gan??
EM
kalo mau ganti icon, mau gak mau harus ngedit code javascriptnya:
reader-download.googlecode.com/svn/trunk/jquery.autoemoticons.js
Unknown
Mas, kalo ga ada komentar letak emotikonnya diatas, pas ada komentar kok jadi dibawah :'(
Unknown
Sudah bisa mas , hehehee .. Abis baca artikelnya yg masalah pesan itu \o/
Unknown
@Beben Koben: \o/ Betul² Blogger Yang Ulet dari blogger india,spanyol,ingris dll slalu saya ketemu dengan Komentar Beben Koben :Q :Q :Q =p*Rajin benerrrrrrrrr
Kang Rian
sangat membantu sekaliii !!! :D
Unknown
Mau Tanya ... !!
Kenapa Emoticon Saya Pas Di Klik Ga keluar Kodenya.. ?? Itu Kenapa.... ??
Taufik Nurrohman
URL yang mana, halaman yang mana, di bagian yang mana, kode yang mana dan emotikon yang mana?
Unknown
Ini Master..
Taufik Nurrohman
Mungkin cuma masalah koneksi internet.
Unknown
Ok Deh Master Makasih.
Nanti saya Coba Di warnet yang koneksi nya wuss.. :)
Anonim
Kalau Ingin Membuat Alertnya Seperti Mas Taufik Gimana...?
Taufik Nurrohman
Ada di bagian ini:
Buat kotak dialogmu sendiri kemudian tampilkan saat emotikon diklik. Sisipkan pesan
emoMessage
ke dalam kotak dialog tersebut:Imron Fhatoni
permisi mas taufik selamat siang saya mau bertanya nie mas kira2 menurut mas taufik apa saja permasalahan emoticon tidak mau berjalan di form komentar soalnya setelah saya mengganti sistem komentar saya emoticonnya tidak berjalan mas saya binggung dengan permasalahannya..
mohon pencerahannya mas taufik...
kalau mas taufik berkenan mohon chek disini mas
http://imronfhatoni94.blogspot.com
Taufik Nurrohman
Imron Fhatoni
alhamdulillah sudah teratasi mas taufik trimakasih banyak..
oh iya ada satu pertanyaan saya lagi mas membuat dalam membuat menampilkan comments target saya ambil contoh seperti blognya mas taufik jika selesai berkomentar targetnya muncul,,,mohon pencerahannya mas taufik...
Unknown
coba tanya diblog kang ismet