Widget Recent Post dengan Preloader
Memperkenalkan widget recent post dengan konsep preloader untuk menangani proses pemuatan halaman yang terlalu berat. Secara teknis, widget ini hanya akan memulai pemuatan konten setelah mencapai waktu yang telah ditentukan:
Tambahkan sebuah elemen halaman HTML/JavaScript, kemudian salin kode ini dan letakkan di dalam formulirnya:
<style scoped="scoped">
#dte_recent-post {
font:normal normal 11px/normal Helmet,Freesans,Sans-Serif;
color:#333;
margin:0 auto;
padding:0;
min-height:100px;
background:white url('data:image/gif;base64,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') no-repeat 50% 50%;
}
#dte_recent-post li {
list-style:none;
margin:0;
padding:7px;
background-color:white;
border-bottom:1px solid #ddd;
}
#dte_recent-post li a img {
float:left;
margin:0 10px 0 0;
padding:0;
border:none;
background:none;
outline:none;
}
#dte_recent-post li a.title {
display:block;
font-size:12px;
text-decoration:none;
color:#1155CC;
}
#dte_recent-post li a.title:hover {
text-decoration:underline;
}
#dte_recent-post li span.foot {
clear:both;
display:block;
color:#ccc;
margin-top:7px;
font-size:10px;
}
</style>
<ul id="dte_recent-post"></ul>
<script>
//<![CDATA[
var rp_homePage = "http://nama_blog.blogspot.com", // Your blog homepage
rp_numPosts = 5, // How many posts?
rp_thumbWidth = 72, // Thumbnail width. Change to 0 if you want to disable the post thumbnail
rp_numChars = 100, // Number of posts summary
rp_sortByLabel = false, // Replace `false` with your specific label name to display posts by specific label
// Example: rp_sortByLabel = "jQuery", to sort posts by label "jQuery"
rp_noImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAA3NCSVQICAjb4U/gAAAADElEQVQImWOor68HAAL+AX7vOF2TAAAAAElFTkSuQmCC", // A 'no-image' image
rp_monthNames = [
"Januari",
"Februari",
"Maret",
"April",
"Mei",
"Juni",
"Juli",
"Agustus",
"September",
"Oktober",
"November",
"Desember"
],
rp_newTabLink = true, // If true, then all the widget links will automatically opens in new window/new tab
rp_loadTimer = "onload"; // "onload" || time in milliseconds (e.g: 3000, 4000, ...)
//]]>
</script>
<script src="//tovic.github.io/dte-project/blogger-recent-post-with-preloader.js"></script>
Konfigurasi Widget
Opsi | Keterangan |
---|---|
rp_homePage | Ganti dengan URL blog Anda. |
rp_numPosts | Digunakan untuk menentukan jumlah posting yang akan ditampilkan. |
rp_thumbWidth | Digunakan untuk menentukan lebar thumbnail. Ubah lebarnya menjadi 0 untuk menghilangkan thumbnail. |
rp_numChars | Digunakan untuk menentukan jumlah karakter ringkasan posting. |
rp_sortByLabel | Ganti nilai false menjadi nama label untuk menampilkan posting berdasarkan label yang spesifik. Contoh: rp_sortByLabel = "jQuery" akan menampilkan semua posting dengan label jQuery. |
rp_noImage | Thumbnail cadangan jika posting yang tampil dalam widget tidak memiliki gambar. |
rp_monthNames | Tentukan nama-nama bulan sesuai dengan sistem penanggalan di negara Anda. |
rp_newTabLink | Jika bernilai true , maka semua tautan dalam widget akan terbuka di tab/jendela baru saat diklik. |
rp_loadTimer | Digunakan untuk menentukan seberapa lama widget akan menunda proses pemuatan sebelum akhirnya mulai memuat. Secara normal bernilai "onload" . Artinya bahwa widget akan memuat setelah semua elemen halaman telah berhasil termuat. Anda juga bisa mengganti nilainya dengan satuan waktu milidetik untuk menunda waktu pemuatan selama beberapa detik ke depan. Contoh: rp_loadTimer = 3000 akan menunda pemuatan JSON selama 3 detik. |
Labels: Blogger, Dasar, JavaScript, Widget
52 Comments:
mas Taufik, coba klik gambar yg ada di posting mas Taufik,
akan muncul popup img ..
nah kalo di blog saya kok tidak yah??
dulu sih iya, tp saya gak tau knp bisa tiba2 skrg gak popup lagi..?
ada pencerahannya Mas?
By Surga Kenari, at Saturday, July 21, 2012 at 6:58:00 PM GMT+7
mas kenapa kebanyakan recent post, pengen popular post nih. hehe ngarep :p
By Bayu Handono, at Saturday, July 21, 2012 at 7:27:00 PM GMT+7
Aktifkan fitur lightbox melalui pengaturan.
Terkait: Konsep JQuery Lightbox
By Taufik Nurrohman, at Saturday, July 21, 2012 at 9:06:00 PM GMT+7
Widget posting populer sudah ada versi bakunya. Jadi kalau dibuat versi JavaScript-nya malah tidak menarik. Kalau mau memodifikasi widget posting populer masih bisa kok memakai kerangka dari widget bawaan Blogger.
By Taufik Nurrohman, at Saturday, July 21, 2012 at 9:12:00 PM GMT+7
saya lihat sudah aktif fitur lightbox nya mas..
tp kok gak popup yah..
dulu banget waktu masih polos templatenya sih popup..
*garuk2 pala* bingung..
ada solusi mas?
By Surga Kenari, at Sunday, July 22, 2012 at 1:12:00 AM GMT+7
TETOOOOOOOT........ anda kurang beruntung :p
By uki, at Sunday, July 22, 2012 at 2:11:00 AM GMT+7
izin nyobah gan.. saya pingin banget pasang d blog saya...
makasih ya gan...
By Anonymous, at Thursday, July 26, 2012 at 4:52:00 AM GMT+7
mas kalau ini buat nampilin posting terbaru label. gmna ya mas??
terima kasih
By Admin SS, at Monday, August 6, 2012 at 7:11:00 AM GMT+7
Baca tabel konfigurasi di atas. Untuk menampilkan posting berdasarkan label, ganti nilai false pada variabel rp_sortByLabel dengan nama label, misalnya begini:
rp_sortByLabel = "Lorem Ipsum"
By Taufik Nurrohman, at Monday, August 6, 2012 at 12:09:00 PM GMT+7
saya coba buat 2 label kok gak bisa ya mas??
By Admin SS, at Monday, August 6, 2012 at 2:51:00 PM GMT+7
Tidak bisa, ini cuma untuk satu label. Kalau mau menggunakan lebih dari satu label, bukannya masih bisa dibuat pengelompokan label baru lagi pada posting-posting yang ingin ditampilkan? :\ (Buat nama kategori baru khusus untuk diterapkan pada widget ini).
By Taufik Nurrohman, at Monday, August 6, 2012 at 5:15:00 PM GMT+7
"Buat nama kategori baru khusus untuk diterapkan pada widget ini"
ini mksudnya apa mas??:D
By Admin SS, at Monday, August 6, 2012 at 5:57:00 PM GMT+7
Misalnya kita ingin menampilkan semua posting berlabel 'Binatang' dan 'Tanaman'. Agar kedua tipe posting itu bisa tampil, semua posting berlabel 'Binatang' dan 'Tanaman' diberi label lagi bernama 'Makhluk Hidup' (misalnya), setelah itu masukkan nama labelnya dalam variabel:
rp_sortByLabel = "Makhluk Hidup"
By Taufik Nurrohman, at Monday, August 6, 2012 at 9:09:00 PM GMT+7
Mas saya coba memasukkan kode mas didalam 2 HTML/JavaScript dengan menerapkan label yang berbeda tapi hanya 1 yang terload..
begitu juga jika sudah terdapat widget daftar isi Blogger dengan navigasi halaman..
hanya 1 yang terload..
kira2 apa masalahnya mas..
By Unknown, at Tuesday, September 4, 2012 at 8:39:00 PM GMT+7
Widget-widget ini memakai pemanggil berupa ID:
<ul id="dte_recent-post"></ul>
document.getElementById('dte_recent-post').doSomething();
Kalau jumlah ID elemen ditemukan lebih dari satu hasilnya jadi error.
By Taufik Nurrohman, at Tuesday, September 4, 2012 at 9:46:00 PM GMT+7
oh jadi gitu yah mas..
jadi klo mau menggunakan lebih dari 1 label harus membuat/merubah file yang di:
"http://reader-download.googlecode.com/svn/trunk/blogger-recent-post-with-preloader.js"
mengganti "document.getElementById nya" dan nantinya untuk targetnya dibuat lagi ID lg..
wah klo begi semakin banyak label maka javascript jg semakin banyak..
atau apa bisa document.getElementById diganti dengan document.getElementByClass??
By Unknown, at Wednesday, September 5, 2012 at 12:11:00 AM GMT+7
Tidak bisa. Coba saja!
By Taufik Nurrohman, at Wednesday, September 5, 2012 at 12:57:00 AM GMT+7
oh jadi tdak bisa yah mas..
By Unknown, at Wednesday, September 5, 2012 at 8:12:00 PM GMT+7
kok recent post nya ga keload? cuma mentok di gambar loading doank?
mohon pencerahannya mas! ^_^
By Unknown, at Monday, September 17, 2012 at 10:02:00 PM GMT+7
Widget ini Saya setel waktu muatnya dimulai saat halaman sudah termuat semua. Kalau widget tetap tidak termuat, lebih baik gunakan timer saja, jangan memakai indikator halaman termuat:
rp_loadTimer = 3000; // Pemuatan widget dimulai tiga detik kemudian sejak halaman dibuka/script berhasil diakses
Selengkapnya, baca tabel konfigurasi di atas.
By Taufik Nurrohman, at Monday, September 17, 2012 at 10:55:00 PM GMT+7
kalau widget popular post preloader ada ga mas? :D
By Unknown, at Tuesday, September 18, 2012 at 7:56:00 PM GMT+7
Nggak ada. Widget yang asli saja sudah cepet.
By Taufik Nurrohman, at Tuesday, September 18, 2012 at 8:16:00 PM GMT+7
kalau cara hilangin tanggal, waktu, dan bulannya gimana mas?
By Unknown, at Tuesday, September 18, 2012 at 11:40:00 PM GMT+7
#dte_recent-post li span.foot {display:none;}
By Taufik Nurrohman, at Wednesday, September 19, 2012 at 12:21:00 PM GMT+7
makasih telah membantu mas! :D
By Unknown, at Friday, September 21, 2012 at 10:57:00 PM GMT+7
mas kalo pangen jadi random post gmna mas ??
By Cahya Maulana, at Tuesday, October 30, 2012 at 11:24:00 AM GMT+7
Mas Jika ingin memeasangnya dibawah setiap postingan bagaimana ya?
By Ridwan N, at Wednesday, November 7, 2012 at 5:07:00 PM GMT+7
Letakkan widget di bawah kode <div class='post-footer'>
By Taufik Nurrohman, at Wednesday, November 7, 2012 at 8:44:00 PM GMT+7
asli beneran nyeseul beli bukunya, padahal disini ada..
By Anonymous, at Sunday, December 23, 2012 at 1:59:00 AM GMT+7
Makasih banyak widget bagusnya, mas.
Jadi cakep deh tampilan blog saya :-bd
By Unknown, at Sunday, December 23, 2012 at 8:09:00 PM GMT+7
Assalamualaikum, siang mas.
kok di blogku gak muncul ya mas? Loading lama, aku tungguin tp gak muncul juga.
Mohon dibantu ya mas. Terimakasih tutorialnya.
Kim
By Belitungku.NET, at Friday, March 1, 2013 at 12:21:00 PM GMT+7
ada masalah mas, ketika saya mencoba untuk merubah warna background dari kelas berikut mas
#dte_recent-post li {
list-style:none;
margin:0 0;
padding:7px 7px;
background-color:white; /* saya ubah menjadi transparent*/
border-bottom:1px solid #ddd;
}
efek laodingnya yang seharusnya berhenti karena halaman sudah dimuat tetapi malah terus muncul mas,
tetapi jika backgroundnya tidak dirubah, efek loadingnya hilang, untuk mengatasi masalah ini bagaimana caranya mas?
terima kasih
By EM, at Saturday, May 4, 2013 at 11:10:00 AM GMT+7
Saya menambahkan latar warna putih pada elemen daftar untuk menutupi animasi loading di belakangnya. Jadi ketika konten telah termuat, efek animasi loading akan tertutupi oleh warna latar konten tersebut. Kalau dibuat transparan ya jadi terlihat latar di belakangnya. Intinya, samakan saja antara warna elemen daftar dengan warna latar animasi.
By Taufik Nurrohman, at Sunday, May 5, 2013 at 8:14:00 AM GMT+7
ok terima kasih mas
:-bd
By EM, at Sunday, May 5, 2013 at 8:33:00 AM GMT+7
wah mantap ini..
By Anonymous, at Monday, May 6, 2013 at 2:53:00 PM GMT+7
Mas taufik widgetnya berhasil di pasang, tapi kok thumbnailnya gak muncul sesuai posting. yg muncul gambar no images. coba lihat ini mas http://blogsism.blogspot.com
By Mardi, at Tuesday, May 14, 2013 at 10:52:00 PM GMT+7
masalahnya hampir sama, bantu plz
By Hari, at Sunday, June 23, 2013 at 10:24:00 PM GMT+7
External hosted thumbnails will not go into Blogger JSON object. So the image from YouTube and another server will not be displayed on this widget (and most of the widgets I made). Consider to upload images directly through Blogger image uploader so that they could appear in JSON.
By Taufik Nurrohman, at Friday, July 5, 2013 at 11:43:00 PM GMT+7
Fixing? No, this is currently not a bug. Blogger just simply don't accept/put YouTube thumbnail into their JSON. If you have time, maybe you can make a request about including YouTube thumbnails into Blogger JSON through https://productforums.google.com/forum/#!categories/blogger, so that the thumbnail could appear in the future. But I can't guarantee you'll get a response from them.
Actually this problem can be solved using the old way like the comment I wrote here
But this method is outdated. Taking the first thumbnail URL through image tag character detection. Only works with default feed mode. Waste of bandwidth IMO. And it was created when json.feed.entry[i].media$thumbnail.url hasn't been released.
By Taufik Nurrohman, at Saturday, July 6, 2013 at 9:45:00 AM GMT+7
kalau widget recent post auto reload bisa buatin nggak bos Taufik? ane cari2 di mbah google nggak ada..maksudnya yaitu seperti metode milik beranda facebook..jadi setiap ada post baru langsung muncul, tanpa melakukan reload halaman. kayaknya pernah baca dengan ajax bisa dibuat, tp entah saya juga belum tahu, hehe
By Coba Coba, at Monday, July 15, 2013 at 6:22:00 PM GMT+7
oh iya sekalian..kalau yang daftar isi dengan halaman itu bisa buatin yang berdasarkan tanggal nggak bro? maksudnya kayak punya http://index.okezone.com/ itu, jadi kita milih tanggalnya, maka akan ketemu post pada tanggal itu. Thanks :)
By Coba Coba, at Monday, July 15, 2013 at 6:25:00 PM GMT+7
hehehe... setiap gambar image ( img ) jika ingin bisa dibaca oleh mesin pencari yaaa harus ditambah ALTERNATE atau alt .
Contohnya :
<a href="URL gambar Anda" kemudian anda harus menambahkan ( img alt="Judul gambar/posting Anda" )
Kalau Gambar terkena MOUSE maka akan muncul judul gambar/postingnya... BEGITU MAS :)
By MasOes, at Saturday, September 13, 2014 at 1:55:00 PM GMT+7
Makasih infonya bang
By Gue aja, at Friday, December 26, 2014 at 8:50:00 PM GMT+7
ijin pasang di blog mas. makasih :-bd
By ISyamsun, at Saturday, December 27, 2014 at 6:15:00 PM GMT+7
Makasih buat widgetnya mas taufik.. :-bd
Saya jg mau numpang tanya dong mas. [img]https://lh3.googleusercontent.com/-a2RaABK4BbM/VMr1RqcWZRI/AAAAAAAACGg/F3zW3YZ77ig/s512/iki-gambare.jpg[/img]
. itu screenshot widget yg udah sy ubah pake CSS. yang jd masalah gimana caranya nilai rp_thumbWidthnya di buat berbeda, untuk li:first-child thumbnail besar dan li yang lain ukuran kecil. kalo cuma pake css kn pemborosan ukuran thumbnya mas. sejak kemaren-kemaren saya udah coba edit file JSnya tapi gak berhasil-berhasil mas.mungkin otak sy gak nyampe :'( . mohon pencerahannya mas taufik
By Angga, at Friday, January 30, 2015 at 10:26:00 AM GMT+7
Kamu bisa memanfaatkan indeks dari variabel i untuk menemukan posting pertama. Indeks yang paling awal tentunya adalah 0. Misalnya begini:
if (rp_thumbWidth !== 0 && rp_thumbWidth !== false) {
var rp_thumbWidthOriginal = rp_thumbWidth,
rp_thumbWidthFirst = 600; // <= Ini untuk thumbnail pertama
// Cek indeks elemen
rp_thumbWidth = i === 0 ? rp_thumbWidthFirst : rp_thumbWidthOriginal;
if ("media$thumbnail" in entry) {
postImage = '<img style="width:' + rp_thumbWidth + 'px;height:' + rp_thumbWidth + 'px;" src="' + entry.media$thumbnail.url.replace(/\/s[0-9]+\-c/g, "\/s" + rp_thumbWidth + "-c") + '" alt="Loading..."/>';
} else {
postImage = '<img style="width:' + rp_thumbWidth + 'px;height:' + rp_thumbWidth + 'px;" src="' + rp_noImage + '" alt="Loading..."/>';
}
} else {
postImage = "";
}
By Taufik Nurrohman, at Monday, February 2, 2015 at 11:41:00 PM GMT+7
Makasih banget buat jawabannya Mas Taufik. udah saya coba, dan berhasil, tapi ada yg mesti di ubah sedikit deklarasi variabelnya. Semoga Mas Taufik dan keluarga senantiasa sehat.
By Angga, at Monday, February 9, 2015 at 10:24:00 AM GMT+7
mas taufik, jika ingin link dan gambar ada title, dibagian js mana ya harus dirubah?
By Admin, at Thursday, April 16, 2015 at 5:05:00 AM GMT+7
postImage = '<img title="' + postTitle + '" style="width:' + rp_thumbWidth + 'px;height:' + rp_thumbWidth + 'px;" src="' + entry.media$thumbnail.url.replace(/\/s[0-9]+\-c/g, "\/s" + rp_thumbWidth + "-c") + '" alt="Loading..." />';
skeleton += '<a title="' + postTitle + '" href="' + postUrl + '"' + linkTarget + '>' + postImage + '</a>';
By Taufik Nurrohman, at Sunday, April 26, 2015 at 8:39:00 PM GMT+7
thanks mas taufik :)
By Admin, at Sunday, April 26, 2015 at 10:02:00 PM GMT+7
gak bisa ya jadiin versi carousel?? ._. saya nyoba make
owlgraphic*com/owlcarousel/ gak bisa..
By Unknown, at Sunday, August 2, 2015 at 7:02:00 AM GMT+7
Mas, numpang tanya.
Awalnya saya pake widget ini normal bahkan sudah beberapa tahun pake widget keren ini gak ada masalah.
Tapi sekarang kok gak muncul widgetnya ya, mas?
Kira-kira masalahnya dimana ya, mas?
Ohm ya, blog saya >>> http://www.direktoripenerjemah.com/
Terima kasih sebelumnya.
By Direkori Penerjemah, at Wednesday, June 8, 2016 at 7:57:00 PM GMT+7
Post a Comment
<< Home