Tiện ích bài viết ngẫu nhiên cho Blogger
http://www.nhatchanh.info/2014/09/tien-ich-bai-viet-ngau-nhien-cho-blogger.html
by Phan Nhật Chánh
HTML
<h2>Bài viết ngẫu nhiên</h2>
<div id='random-post-container'><div id="random-post-load">Đang tải dữ liệu...</div></div>
CSS
body{background:#f2f2f2; font-size:12px; font-family:Arial, Helvetica, sans-serif}
a{color:#1A74BA;text-decoration:none;outline:none;}
a:hover, a:active{color:#174271;text-decoration:underline;}
#random-post-load{background: url(http://1.bp.blogspot.com/-2oJZT1D_IdU/VBj0TRf2EUI/AAAAAAAACH0/PVf_s0ifMrw/s1600/ajax-loader.gif) no-repeat; padding-left:20px;}
#random-post-container {width:500px}
#random-post-container ul{padding:0;}
#random-post-container li {
padding:10px 0 10px 0;
list-style:none;
overflow:hidden;
border-top:1px solid #CCC;
}
#random-post-container img {
display:block;
float:left;
margin:2px 7px 5px 0;
}
#random-post-container a {
font-weight:normal;
font-size:100%;
}
#rancom-post-container .clear {
display:block;
clear:both;
}
.categories{background:url(http://2.bp.blogspot.com/-H_9Y0VCbjY8/VCAqwUaopUI/AAAAAAAACIU/UwHMsTW7yh4/s1600/icon-article-tags.png) 0 center no-repeat;padding:0 0 0 20px;float:left;}
JavaScript
var homePage = 'http://www.nhatchanh.info', //Địa chỉ Blog của bạn
maxResults = 5, //Số bài viết hiển thị
author_date_commentShow = true; //Hiển thị tên Tác giả + Ngày tháng + Nhận xét
authorShow = true, //Hiển thị tên tác giả
commentName = 'Nhận xét',
thumbnail = true, //Sử dụng hình thumbnail
imgSize = 72, //Kích thước hình thumbnail
noImageUrl ='http://2.bp.blogspot.com/-cU2FNhVMvtY/VBFZ_d5FLYI/AAAAAAAACEo/GPcK7-uQ5DE/s1600/default.gif',
summaryShow = true, //Hiển thị nội dung tóm tắt
summaryLength = 180, //Số ký tự hiển thị cho nội dung tóm tắt
labelShow = true, //Hiển thị nhãn label
maxResultsLabel = 10, //Số bài viết trả về của nhãn
containerId = 'random-post-container';
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function shuffleArray(arr) {
var i = arr.length, j, temp;
if (i === 0) return false;
while (--i) {
j = Math.floor(Math.random() * (i + 1));
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
return arr;
}
function createRandomPostsStartIndex(json) {
var startIndex = getRandomInt(1, (json.feed.openSearch$totalResults.$t - maxResults));
if (window.console && window.console.log) console.log('Get the post feed start from ' + startIndex + ' until ' + (startIndex + maxResults));
// document .write('<scr' + 'ipt src="' + homePage + '/feeds/posts/summary?alt=json-in-script&orderby=updated&start-index=' + startIndex + '&max-results=' + maxResults + '&callback=randomPosts"></scr' + 'ipt>');
add_script(homePage + '/feeds/posts/summary?alt=json-in-script&orderby=updated&start-index=' + startIndex + '&max-results=' + maxResults + '&callback=randomPosts');
}
function randomPosts(json) {
var link, summary, img,
ct = document.getElementById(containerId),
entry = shuffleArray(json.feed.entry),
html = "<ul>";
for (var i = 0, len = entry.length; i < len; i++) {
summary = ("summary" in entry[i]) ? (entry[i].summary.$t.replace(/<.*?>/g,...