Home » Archives for tháng 10 2011
Danh sách video
19:44 |.Huân Chương và đồ chơi.Cây táo tình cờ .Ông vua lùn .
Cậu bé thông minh.Gà trống và cáo.Bị sét đánh .Ai mạnh nhất.Cây lộc vừng .Chú chó Hachiko .Bài học của kiến .Quyền cước.Bộ tộc quái thú .Thái Cực Trương Tam Phong .TRÁNG SĨ ĐỘC THỦ .PHỈ THÚY MINH CHÂU .The Lion King 1 - Vua Sư Tử 1 HD - SubViet 1994 .The Lion King 2 - Vua Sư Tử 2 HD - SubViet 1998 .he Lion King 3 - Vua Sư Tử 3 HD SubViet 2004.Tam Quốc Diễn Nghĩa 1996 - Tập 1, 2 .Huyết Chiến .Bẫy Rồng 2010 full.flv.Phim hài Để Mai Tính 2010 full.flv .Thượng Đế Cũng Phải Cười Phần 1 Full .Cười với Hoài Linh 25 .Vỡ mộng, Máu giang hồ .Thượng Đế cũng phải cười 3.Nữ Thần Bài .TCJ7 - Siêu Khuyển Thần Thông - Châu Tinh Trì .Vua Bi Da .Sư Huynh Chàng Quỷ .Long tích truyền nhân .Long tranh Hổ đấu .Hợp đồng nô lệ .Lõa Thể Sát Thủ .Sinh Tử Quyền Tốc .Tôi yêu 777 .Bà vợ sư tử hà đông .Quán Trọ Thần Tài (2011) Hong Kong.Quyền Vương 2011 (Thuyết Minh Việt + Phụ đề) .Sát thủ bá vương (Contract Killer) .Tân Ca Truyền Kỳ (Casino Tycoon 1) .Luu Duc Hoa - Ben Thuong Hai .Luu Duc Hoa - Nghe Thuat Cua Dao . HuyetChienChiCamThanh .
TẠO 4 BANNER QUẢNG CÁO 125X125
02:18 |Đầu tiên bạn đăng nhập vào Blog > Chọn Thiết kế > Chọn Thêm tiện ích > Thêm HTML/Javacript rồi dán tất cả các code này vào:
<div align='center'><table bgcolor='#000' border='0' cellpadding='1' cellspacing='4' width='270'><tbody><tr> <td><center><a href=' http://cosonamlinhchi.blogspot.com ' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg34o4ZLT1cuav2p6fDjALk-m5JsJu42stqrEEXoMcFAlzhnvkzCBkUfD-0TUBFwlZcB1gXPripCzpAJmRDOrVQenyP6SVksXMyPKjRjulGEGPVnrWPycDaX2YPQ8nxv3HytwfLR-0Xkuo/s1600/NAMLINHCHI.png' width='140'/></a></center></td> <td><center><a href='http://bangiong.blogspot.com' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5PRB0gTrzN11XuVWBAhfj7WuBLhtSV31uEkslb5NR8EMtDD3PKLdiI-WniD6DMFt3SeyQOF1MMPREW0-1cnOlGBG_eBmt2dI9RMWpp21fjQCHdpe8DxsBhXk0i-L-uWvfRlpg1HgV50/s1600/GIONGCHIMTRI.png' width='140'/></a></center></td> </tr> <tr> <td><center><a href=' http://tranphucminh.blogspot.com/2011/10/chuyen-sua-chua-bao-tri-mua-ban-lap-rap.html' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmE46qXNdP60K8b8eGmxlG8lnoahCmITbuMLH1AF8bSOl8LzZYsx00zmDqk3I0Pzyd8Uf4Ovea6dHFcGj021ZWLaITZvltPlttXk-dHwZ2J6bnpFdc-e8fuKreWGchhBiQe6y0RvGXzmKS/s1600/maytinhdung.png' width='140'/></a></center></td> <td><center><a href=' http://minh79.tk' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis1OizJgrkbiM2lFCXcbFwlZ_FYyrvaceYMy4GRYqGj23blRwtsY9kvGMqRbsi3zNpD6fL_m5manhhMSAW-z3CNm2T0MvoP2MTSz_VKFokWtNNq1Jek00u3s0ej3e148J4f-d2FAouHTQ/' width='140'/></a></center></td> </tr> </tbody></table></div>
<div align='center'><table bgcolor='#000' border='0' cellpadding='1' cellspacing='4' width='270'><tbody><tr> <td><center><a href=' http://cosonamlinhchi.blogspot.com ' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg34o4ZLT1cuav2p6fDjALk-m5JsJu42stqrEEXoMcFAlzhnvkzCBkUfD-0TUBFwlZcB1gXPripCzpAJmRDOrVQenyP6SVksXMyPKjRjulGEGPVnrWPycDaX2YPQ8nxv3HytwfLR-0Xkuo/s1600/NAMLINHCHI.png' width='140'/></a></center></td> <td><center><a href='http://bangiong.blogspot.com' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5PRB0gTrzN11XuVWBAhfj7WuBLhtSV31uEkslb5NR8EMtDD3PKLdiI-WniD6DMFt3SeyQOF1MMPREW0-1cnOlGBG_eBmt2dI9RMWpp21fjQCHdpe8DxsBhXk0i-L-uWvfRlpg1HgV50/s1600/GIONGCHIMTRI.png' width='140'/></a></center></td> </tr> <tr> <td><center><a href=' http://tranphucminh.blogspot.com/2011/10/chuyen-sua-chua-bao-tri-mua-ban-lap-rap.html' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmE46qXNdP60K8b8eGmxlG8lnoahCmITbuMLH1AF8bSOl8LzZYsx00zmDqk3I0Pzyd8Uf4Ovea6dHFcGj021ZWLaITZvltPlttXk-dHwZ2J6bnpFdc-e8fuKreWGchhBiQe6y0RvGXzmKS/s1600/maytinhdung.png' width='140'/></a></center></td> <td><center><a href=' http://minh79.tk' rel='nofollow' target='_blank'><img alt=' ' border='0' height='125' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis1OizJgrkbiM2lFCXcbFwlZ_FYyrvaceYMy4GRYqGj23blRwtsY9kvGMqRbsi3zNpD6fL_m5manhhMSAW-z3CNm2T0MvoP2MTSz_VKFokWtNNq1Jek00u3s0ej3e148J4f-d2FAouHTQ/' width='140'/></a></center></td> </tr> </tbody></table></div>
Bạn chỉ cần thay link màu xanh và màu đỏ thành link của bạn là xong.
Sau đó bấm Lưu là xong, bây giờ bạn trở vào Blog sẽ thấy 4 banner hiển thị trên Blog của bạn.
Xem demo hình bên dưới:
Chúc cán bạn thành công.
Hướng dẫn đăng kí tên miền đẹp
03:27 |Hôm nay mình sẽ hướng dẫn các bạn tạo 1 tên miền ngắn gọn và đẹp cho blog của mình thực ra các bước vô cùng đơn giản các bạn làm theo mình nhé
đầu tiên các bạn vô trang NÀY để đăng kí nhé
bây giờ bắt tay vào làm nè ^^!
Bước 1: điền tên miền mà các bạn muốn tạo, ở đây mình dùng tên miền là tientruong.come.vn sau đó ấn nút đăng kí, các bạn xem hình nhé ^^!
Bước 2: sẽ hiện ra 1 loạt các tên miền tientruong.come.vn, no1.vn, choang.vn, 9vui.com ..... rất nhìu ^^! việc của bạn là chọn 1 cái nào mà bạn thích và click vào chữ click here to regrister it ở đây mình chọn http://tranphucminh.come.vn
Bước 3 : điền đầy đủ họ tên, email nhận mail đăng kí chú ý mail phải thật chính xác nhé. bây giờ cái quan trọng nhất nè
copy đường link blog của bạn vào ô * Target URL chú ý điền đúng nhé sau đó ấn nút continue
Bước 4: điền đầy đủ thông tin vào các ô
Title (Tiêu đề của website):
Description (Mô tả web):
Keywords (Những từ khóa):
thông thường 3 ô này sẽ đc điền sẵn theo blog của bạn nếu bạn kô thích sửa thì giữ nguyên ^^!
Category (Nhóm website): bạn chọn bất kì
Revisit: bạn chọn tùy 10 day, 30 day, 90 day j đó
Robots: chọn tùy ý
ok bây giờ bạn check vào ô: By submitting this form, you agree to our terms and rules. và click finish registration
Ok thế là đã xong bước đăng kí bây giờ bạn vào mail đã dùng để đăng kí tên miền để kích hoạt nhé, sau khi kích hoạt sẽ hiện ra thông báo này
và đây là kết quả http://tranphucminh.come.vn/ ; http://thuthuatblog.4vn.in/; http://tranminhhuy.come.vn; http://teenchauduc.come.vn/;http://blognhac.come.vn/ tên miền rất gọn dễ nhớ và đẹp nữa
Chúc các bạn thành công
nếu có chỗ nào sai sót các bạn cứ nói nhé ^^!
Theo: http://www2.violet.vn/caobang83/
đầu tiên các bạn vô trang NÀY để đăng kí nhé
bây giờ bắt tay vào làm nè ^^!
Bước 1: điền tên miền mà các bạn muốn tạo, ở đây mình dùng tên miền là tientruong.come.vn sau đó ấn nút đăng kí, các bạn xem hình nhé ^^!
Bước 2: sẽ hiện ra 1 loạt các tên miền tientruong.come.vn, no1.vn, choang.vn, 9vui.com ..... rất nhìu ^^! việc của bạn là chọn 1 cái nào mà bạn thích và click vào chữ click here to regrister it ở đây mình chọn http://tranphucminh.come.vn
Bước 3 : điền đầy đủ họ tên, email nhận mail đăng kí chú ý mail phải thật chính xác nhé. bây giờ cái quan trọng nhất nè
copy đường link blog của bạn vào ô * Target URL chú ý điền đúng nhé sau đó ấn nút continue
Bước 4: điền đầy đủ thông tin vào các ô
Title (Tiêu đề của website):
Description (Mô tả web):
Keywords (Những từ khóa):
thông thường 3 ô này sẽ đc điền sẵn theo blog của bạn nếu bạn kô thích sửa thì giữ nguyên ^^!
Category (Nhóm website): bạn chọn bất kì
Revisit: bạn chọn tùy 10 day, 30 day, 90 day j đó
Robots: chọn tùy ý
ok bây giờ bạn check vào ô: By submitting this form, you agree to our terms and rules. và click finish registration
Ok thế là đã xong bước đăng kí bây giờ bạn vào mail đã dùng để đăng kí tên miền để kích hoạt nhé, sau khi kích hoạt sẽ hiện ra thông báo này
và đây là kết quả http://tranphucminh.come.vn/ ; http://thuthuatblog.4vn.in/; http://tranminhhuy.come.vn; http://teenchauduc.come.vn/;http://blognhac.come.vn/ tên miền rất gọn dễ nhớ và đẹp nữa
Chúc các bạn thành công
nếu có chỗ nào sai sót các bạn cứ nói nhé ^^!
Theo: http://www2.violet.vn/caobang83/
Tạo Sitemap đẹp cho blogspot
03:33 |Sơ đồ site (sitemap) rất quan trọng cho một website cũng như cho webblog. Nó giúp người lướt web dễ dàng tìm đến những chuyên mục trong toàn site để tìm một bài viết nào đó, ngoài ra còn giúp cho webmaster quản lý chặt chẽ nội dung site. Đối với cộng đồng Blogger, lâu nay các blogspotter vẫn hay dùng Table of Contents bằng script của Abu Farhan. Kiểu sitemap này có một điểm yếu là liệt kê tất cả các nhãn trên blogspot. Tuy nhiên các blogspotter thì lại thích liệt kê bài viết của một số nhãn nào đó (tức là nếu không thích liệt nhãn nào thì nhãn đó sẽ không nằm trong Sitemap, điểm này rất cần thiết). Giải pháp tối ưu là phải làm sao có một sitemap đáp ứng được nhu cầu tùy biến của blogspotter. Sau khi nghiên cứu vấn đề này, mình đã nghĩ ra ý tưởng vận dụng cách liệt kê các bài viết của một nhãn, một script rất phổ biến trên cộng đồng Blogger, để tạo ra Sitemap, kết hợp CSS tạo hai cột, vừa tiết kiệm không gian web, vừa giúp người dùng dễ dàng tùy biến theo ý thích, như sitemap của Minh vậy.
Để tạo Sitemap như vậy, bạn hãy thực hiện như sau.
Bước 1. Đăng nhập Blogger, vào Posting (Đăng bài viết) để tạo một bài viết có tiêu đề là Sitemap (để trống phần nội dung), xuất bản bài viết để lấy URL cho trang Sitemap.
Bước 2. Vào Design >> Edit HTML. Đặt đoạn code sau đây vào trước thẻ </head>.
<b:if cond='data:blog.url == "URL_trang_Sitemap"'>
<script type='text/javascript'>
//<![CDATA[
function allpostslist(json) {
document.write('<ul>');
for (var i = 0; i < json.feed.entry.length; i++)
{
for (var j = 0; j < json.feed.entry[i].link.length; j++) {
if (json.feed.entry[i].link[j].rel == 'alternate') {
break;
}
}
var entryUrl = "'" + json.feed.entry[i].link[j].href + "'";
var entryTitle = json.feed.entry[i].title.$t;
var item = "<li>" + "<a href="+ entryUrl + '" target="_blank">' + entryTitle + "</a> </li>";
document.write(item);
}
document.write('</ul>');
}
//]]>
</script>
<style type='text/css'>
#sitemap{width:900px;margin:0;padding-bottom:15px;background:#ffffff;float:left;}
#sitemap ul li {list-style: disc url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpvoyDBP-tsrZJ2kJJCnn3JrZcpEaIvdt9L9tURBHzxsCFXHj6GxpH4PWoUfQx2uy-aJeyN1lpcc6C7FVkKLlkMeSDvxw_mKlaC8JvmMZtM0eMjx_m6LyS5U016lorCiOKRXL6ILAVmwvh/s1600/iconslist.gif) inside; vertical-align: top; padding-left:10px;margin: 0;}#sitemap ul li:hover {list-style: disc url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXwqTmWAwNHbXP7H4m36pGNot0oBI-K4__kDcZ0b3qltqXrMWkDO733Ic45MR-cLZZd8F0Cl6eBF65L01lUpKWBXAyQgICb2AWoOPCKHItfg0YydWcu-eVSU6NIlIEnqubzTk8Gd4rwuxR/s1600/iconslisthover.png) inside; vertical-align: top;padding-left:10px;margin: 0;}
.sm-left{float:left;width:45%;margin:0 20px 0px 20px;font-size:14px;tex-align:justify}
.sm-right{float:right;width:45%;;margin:0 20px 0px 20px;font-size:14px;tex-align:justify}
p.smtitle {border-bottom:1px dotted #789;clear:both;color: #2554C7;font-family:Century Gothic;font-size:25px;padding:10px 50px 5px 0;text-align:right;text-shadow:2px 2px 1px #789;text-transform:lowercase;}
#content-wrapper{display:none}
</style>
</b:if>
Trong đoạn CSS ở trên, chú ý thuộc tính display:none để ẩn đi một số ID và CLASS cần thiết.
Lưu Template.
Bước 3. Tìm dòng <div id='content-wrapper'> và đặt trước nó bằng đoạn code bên dưới.
<b:if cond='data:blog.url == "URL_trang_Sitemap"'>
<div id='sitemap'>
<div class='sm-left'>
<p class='smtitle'><a href='/search/label/Nhãn 1?max-results=10'>Nhãn 1</a></p>
<script src='/feeds/posts/summary/-/Nhãn 1?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn 2?max-results=10'>Nhãn 2</a></p>
<script src='/feeds/posts/summary/-/Nhãn 2?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn 3?max-results=10'>Nhãn 3</a></p>
<script src='/feeds/posts/summary/-/Nhãn 3?max-results=500&alt=json-in-script&callback=allpostslist'/>
</div>
<div class='sm-right'>
<p class='smtitle'><a href='/search/label/Nhãn A?max-results=10'>Nhãn A</a></p>
<script src='/feeds/posts/summary/-/Nhãn A?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn B?max-results=10'>Nhãn B</a></p>
<script src='/feeds/posts/summary/-/Nhãn B?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn C?max-results=10'>Nhãn C</a></p>
<script src='/feeds/posts/summary/-/Nhãn C?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p style="font-family:verdana,arial,sans-serif;font-size:10px;"><a href="http://tranphucminh.blogspot.com/2011/10/sitemap.html" target="_blank">Add to your blogspot ?</a></p>
</div>
</div>
<div style='clear: both;'/>
</b:if>
Chú ý: Ở đây phần nằm sau thẻ <div class='sm-left'> là cột bên trái, phần nằm sau thẻ <div class='sm-right'> là cột bên phải. Tùy theo số lượng nhãn và số lượng bài viết trên blogspot mà bạn phân phối và bố trí thêm bớt các nhãn sao cho cân đối, theo định dạng như trên.
Lưu Template là OK.
Nguồn: thuthuatblogger.info
Để tạo Sitemap như vậy, bạn hãy thực hiện như sau.
Bước 1. Đăng nhập Blogger, vào Posting (Đăng bài viết) để tạo một bài viết có tiêu đề là Sitemap (để trống phần nội dung), xuất bản bài viết để lấy URL cho trang Sitemap.
Bước 2. Vào Design >> Edit HTML. Đặt đoạn code sau đây vào trước thẻ </head>.
<b:if cond='data:blog.url == "URL_trang_Sitemap"'>
<script type='text/javascript'>
//<![CDATA[
function allpostslist(json) {
document.write('<ul>');
for (var i = 0; i < json.feed.entry.length; i++)
{
for (var j = 0; j < json.feed.entry[i].link.length; j++) {
if (json.feed.entry[i].link[j].rel == 'alternate') {
break;
}
}
var entryUrl = "'" + json.feed.entry[i].link[j].href + "'";
var entryTitle = json.feed.entry[i].title.$t;
var item = "<li>" + "<a href="+ entryUrl + '" target="_blank">' + entryTitle + "</a> </li>";
document.write(item);
}
document.write('</ul>');
}
//]]>
</script>
<style type='text/css'>
#sitemap{width:900px;margin:0;padding-bottom:15px;background:#ffffff;float:left;}
#sitemap ul li {list-style: disc url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpvoyDBP-tsrZJ2kJJCnn3JrZcpEaIvdt9L9tURBHzxsCFXHj6GxpH4PWoUfQx2uy-aJeyN1lpcc6C7FVkKLlkMeSDvxw_mKlaC8JvmMZtM0eMjx_m6LyS5U016lorCiOKRXL6ILAVmwvh/s1600/iconslist.gif) inside; vertical-align: top; padding-left:10px;margin: 0;}#sitemap ul li:hover {list-style: disc url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXwqTmWAwNHbXP7H4m36pGNot0oBI-K4__kDcZ0b3qltqXrMWkDO733Ic45MR-cLZZd8F0Cl6eBF65L01lUpKWBXAyQgICb2AWoOPCKHItfg0YydWcu-eVSU6NIlIEnqubzTk8Gd4rwuxR/s1600/iconslisthover.png) inside; vertical-align: top;padding-left:10px;margin: 0;}
.sm-left{float:left;width:45%;margin:0 20px 0px 20px;font-size:14px;tex-align:justify}
.sm-right{float:right;width:45%;;margin:0 20px 0px 20px;font-size:14px;tex-align:justify}
p.smtitle {border-bottom:1px dotted #789;clear:both;color: #2554C7;font-family:Century Gothic;font-size:25px;padding:10px 50px 5px 0;text-align:right;text-shadow:2px 2px 1px #789;text-transform:lowercase;}
#content-wrapper{display:none}
</style>
</b:if>
Trong đoạn CSS ở trên, chú ý thuộc tính display:none để ẩn đi một số ID và CLASS cần thiết.
Lưu Template.
Bước 3. Tìm dòng <div id='content-wrapper'> và đặt trước nó bằng đoạn code bên dưới.
<b:if cond='data:blog.url == "URL_trang_Sitemap"'>
<div id='sitemap'>
<div class='sm-left'>
<p class='smtitle'><a href='/search/label/Nhãn 1?max-results=10'>Nhãn 1</a></p>
<script src='/feeds/posts/summary/-/Nhãn 1?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn 2?max-results=10'>Nhãn 2</a></p>
<script src='/feeds/posts/summary/-/Nhãn 2?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn 3?max-results=10'>Nhãn 3</a></p>
<script src='/feeds/posts/summary/-/Nhãn 3?max-results=500&alt=json-in-script&callback=allpostslist'/>
</div>
<div class='sm-right'>
<p class='smtitle'><a href='/search/label/Nhãn A?max-results=10'>Nhãn A</a></p>
<script src='/feeds/posts/summary/-/Nhãn A?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn B?max-results=10'>Nhãn B</a></p>
<script src='/feeds/posts/summary/-/Nhãn B?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p class='smtitle'><a href='/search/label/Nhãn C?max-results=10'>Nhãn C</a></p>
<script src='/feeds/posts/summary/-/Nhãn C?max-results=500&alt=json-in-script&callback=allpostslist'/>
<p style="font-family:verdana,arial,sans-serif;font-size:10px;"><a href="http://tranphucminh.blogspot.com/2011/10/sitemap.html" target="_blank">Add to your blogspot ?</a></p>
</div>
</div>
<div style='clear: both;'/>
</b:if>
Chú ý: Ở đây phần nằm sau thẻ <div class='sm-left'> là cột bên trái, phần nằm sau thẻ <div class='sm-right'> là cột bên phải. Tùy theo số lượng nhãn và số lượng bài viết trên blogspot mà bạn phân phối và bố trí thêm bớt các nhãn sao cho cân đối, theo định dạng như trên.
Lưu Template là OK.
Nguồn: thuthuatblogger.info
Tạo thanh cuộn trong blogspot
01:27 |Đây là một thủ thuật khá là đơn giản để áp dụng cho blogspot. Tuy nhiên, vẫn có những bạn mới nhập môn nên có thể chưa biết, nên hôm nay mình viết bài này mong rằng nó có ích cho các bạn.
Để làm được như vậy bạn thực hiện như sau:
- Thêm tiện ích -> HTML/Javascript
- Copy đoạn code sau vào rồi chỉnh sửa theo ý mình
- Di chuyển tiện ích tới nơi muốn hiển thị trên blog rồi save lại.
Để làm được như vậy bạn thực hiện như sau:
- Thêm tiện ích -> HTML/Javascript
- Copy đoạn code sau vào rồi chỉnh sửa theo ý mình
- Di chuyển tiện ích tới nơi muốn hiển thị trên blog rồi save lại.
<div class="widget-content">
<div style="border: 0px solid rgb(153, 153, 153); overflow: auto; width: 300px; height: 100px; text-align: left;">
nội dung muốn thêm
</div>
</div>
- Ngoài ra, nếu bạn muốn nội dung bên trong tự động chạy thì có thể thêm như sau:
<div class="widget-content">
<div style="border: 0px solid rgb(210, 210, 210); overflow: auto; width: 300px; height: 100px; text-align: left;">
<marquee direction="up" behavior="alternate" onmouseover="this.stop()" onmouseout="this.start()" scrollamount="2" align="center">
nội dung muốn thêm
</marquee>
</div>
</div>
Trong đó cần quan tâm đến dòng direction="up" nếu bạn muốn nội dung chạy từ trên xuống hay sang trái, phải thì thay up thành các giá trị: down, left, right. scrollamount="2" là tốc độ chạy.
Chúc bạn thành công.
<div style="border: 0px solid rgb(153, 153, 153); overflow: auto; width: 300px; height: 100px; text-align: left;">
nội dung muốn thêm
</div>
</div>
- Ngoài ra, nếu bạn muốn nội dung bên trong tự động chạy thì có thể thêm như sau:
<div class="widget-content">
<div style="border: 0px solid rgb(210, 210, 210); overflow: auto; width: 300px; height: 100px; text-align: left;">
<marquee direction="up" behavior="alternate" onmouseover="this.stop()" onmouseout="this.start()" scrollamount="2" align="center">
nội dung muốn thêm
</marquee>
</div>
</div>
Trong đó cần quan tâm đến dòng direction="up" nếu bạn muốn nội dung chạy từ trên xuống hay sang trái, phải thì thay up thành các giá trị: down, left, right. scrollamount="2" là tốc độ chạy.
Chúc bạn thành công.
Tăng tốc toàn diện cho Firefox
07:56 |Firefox (tải tại đây) lúc hoạt động cũng như khi ở trạng thái minimize đều chiếm dung lượng bộ nhớ rất nhiều. Tuy nhiên nếu bạn biết một số tính năng ẩn của nó, sẽ cải thiện được đáng kể tốc độ của phần mềm này.
Firefox lúc hoạt động cũng như khi ở trạng thái minimize đều chiếm dung lượng bộ nhớ rất nhiều. Nhưng nó có một đặc điểm ít được biết đến là cho phép Windows sử dụng lại bộ nhớ khi nó không hoạt động, hay nói cách khác là Windows sẽ lấy lại RAM khi Firefox ở trạng thái minimize. Tuy nhiên tính năng này bình thường không hoạt động, để kích hoạt bạn mở Firefox, gõ lệnh about:config vào trong khung Address và bấm Enter.
Firefox thường lưu các cache của mỗi trang web vào bộ nhớ của nó,mục đích là để bạn có thể mở nhanh trang web trong lần đăng nhập sau hay phục hồi lại trang cũ khi bạn bấm các phím Back / Forward trong trình duyệt. Theo mặc định, giá trị cache được thành lập để có thể lưu lại trong bộ nhớ của Firefox, một cache có thể đạt dung lượng 4MB hoặc tăng lên tới 8MB. Nếu bạn duyệt nhiều trang web thì máy sẽ cần dung lượng RAM rất lớn - "mà lượng tài nguyên này chỉ dùng duy nhất cho 2 phím Back / Forward" , đó là một điều hết sức lãng phí.
Tiếp tục với giá trị với giá trị browser.cache.memory.enable, bấm đôi lên chữ true để đổi nó sang giá trị false. Sau đó bấm chuột lên khoảng trắng bất kỳ đâu trong cửa sổ mới mở ra, chon New > Boolean, điền đoạn mã browser.cache.memory.capacity. Bấm OK rồi chọn giá trị cho nó là true. Bấm OK lần nữa để xác nhận lại việc tạo giá trị mới cho Firefox.
3. Tăng tốc load web
Tốc độ load một trang web ngoài việc phụ thuộc đường truyền còn phụ thuộc vào trình duyệt, vì vậy mới có nhưng trình duyệt nhanh như tên bắn cỡ K-Ninja hay rùa bò như SpaceTime 3D. Trong trình duyệt, ngoài vấn đề với các cách hiển thị hình ảnh, âm thanh và các hiệu ứng còn có cách mà trình duyệt tương tác với máy chủ nữa, và đây là cái khiến cho cả trăm trình duyệt không cái nào giống cái nào.
- Giảm thời gian chờ: bấm chuột phải lên khoảng trống, chọn New > Integer, tạo một filter mới với nội dung là nglayout.initialpaint.delay và đặt value cho nó là 50. Lựa chọn này sẽ cho phép Firefox load ngay website mà không cần chờ 0,25 giây như trước nữa. Vào New > Boolean và tạo filter mới tên là content.notify.ontimer sau đó chọn value là true. Tạo một Integer có tên content.notify.interval và đặt giá trị là 1000000.
- Tăng lượng data tải về: bình thường thì Firefox sẽ tải trang web về theo từng gói dữ liệu. Bạn hãy tăng tốc load web bằng cách tăng dung lượng gói data tải về. Tạo một Integer với tên content.max.tokenizing.time và đặt value là 9000000. Sau đó tại thêm một Boolean với tên content.interrupt.parsing và đặt giá trị cho nó là true.
- Giảm thời gian tương tác với người dùng: tức là khoảng thời gian Firefox hiển thị các thông tin load web cho bạn, nếu giảm thời gian này xuống, tốc độ mở trang web sẽ nhanh hơn. Tạo một Integer tên content.switch.threshold và đặt value là 3000000.
4. Tăng tốc server
Để load nhanh một trang web bạn cần phải tăng tốc kết nối Firefox với trang web lên con số cao nhất có thể được. Theo mặc định, con số kết nối này của Firefox là 24, tuy nhiên chúng ta có thể tăng lên mức tối đa mà Firefox cho phép để việc mở trang web nhanh nhất.
Trong khung Filter, bạn gõ từ khóa network.http.max-connections, sau đó bạn tăng value lên 64. Tiếp tục tìm network.http.max-persistent-connections-per-server và network.http.max-persistent-connections-per-proxy rồi đổi giá trị của nó lên thành 8.
5. Giảm thời gian tương tác
Khi Firefox load một trang web, nó thường tạo ra một loạt các liên kết để tải dữ liệu từ trang web đó và trang web của bạn sẽ được tải về bằng nhiều đường truyền, mỗi đường truyền thường được đặt một giới hạn thời gian tương tác. Vì vậy muốn Firefox nhanh hơn, bạn có thể giảm thời gian tương tác này xuống.
Tìm từ khóa network.http.request.max-start-delay rồi hạ giá trị của nó từ 10 còn xuống 0. Tạo tiếp một Integer với tên network.http.pipelining.maxrequests và đặt value là 128. Cuối cùng tìm từ khóa network.http.proxy-pipelining và networl.hppt.pipelining rồi đổi giá trị thành true.
6. Xóa các config
Theo mặc định, khi tạo một config cho Firefox thì bạn không thể xóa nó được. Để khắc phục, nếu có một config nào mà bạn lỡ tay tạo sai thì để xóa nó đi, bạn bấm chuột phải lên nó rồi chọn Reset. Khởi động lại Firefox thì config đó sẽ bị xóa
Theo Tổ quốc
Một số vấn đề thường gặp ở Blogspot
16:42 |Trong quá trình chỉnh sửa tùy biến Blogger hẳn không ít lần bạn mắc phải sai lầm khiến phát sinh lỗi ngoài ý muốn. Bạn không biết nên làm lại từ đâu và sửa chữa như thế nào ? Bài viết này có thể sẽ giúp được bạn, đây là tổng hợp một số vấn đề mà rất nhiều người dùng Blogger thường mắc phải, kèm theo cách giải quyết.
Điều quan trọng nhất trước khi chỉnh sửa template là sao lưu một bản gốc để có thể phục hồi lại khi cần thiết. Nếu sau khi tùy biến mà bạn nhận ra template của mình bị mất một số thành phần (avatar, label, .v.v...) thì có thể hoàn nguyên mẫu tiện ích về mặc định để "lấy lại những gì đã mất".
1/ Bị mất bài ở trang chủ
Đây là vấn đề mà rất nhiều người mắc phải, nguyên nhân là do tính năng auto-pagination của Blogger tự động cắt bớt số bài đăng để blog của bạn load nhanh hơn. Đặc biệt nếu ở trang chủ có các bài đăng chứa nhiều hình ảnh thì khả năng mất bài là khá cao.
Cách giải quyết: dùng tính năng read more (đọc thêm) của Blogger để thu gọn nội dung các bài đăng ở trang chủ (đừng nhầm lẫn với auto-readmore, nó chắc chắn không giúp bạn giải quyết được vấn đề này). Nếu không thấy tính năng này thì bạn vào phần cài đặt của Blogger rồi chọn cập nhật trình chỉnh sửa bài đăng.
2/ Số bài đăng của mỗi nhãn hiển thị không chính xác
Cách giải quyết : tìm trong template dòng sau
<a expr:href='data:label.url' rel='tag'>
Sửa nó thành:
<a expr:href='data:label.url + "?&max-results=10"' rel='tag'>
10 là số bài đăng tối đa mà bạn muốn hiển thị trên từng nhãn.
3/ Mục bài đăng cũ hơn, bài đăng mới hơn không hiển thị
Lỗi này do nhiều nguyên nhân, cách giải quyết thường là hoàn nguyên mẫu tiện ích về mặc định, nếu vẫn không được thì bạn kiểm tra trong template xem đã có dòng này hay chưa :
#blog-pager { clear : both; }
4/ Tiện ích phân trang không hoạt động
Blog của bạn phải có một số lượng bài đăng nhất định thì tiện ích phân trang mới hoạt động. Ngoài ra nếu bạn cài đặt blog ở trạng thái chỉ có tác giả xem được thì cũng sẽ không thấy phân trang.
5/ Tiện ích Popular Posts không hiển thị ảnh thumbnail
Mặc dù tất cả các bài đăng phổ biến của bạn đều chứa hình ảnh nhưng tiện ích Popular Posts của Blogger vẫn không hiển thị ảnh đại diện. Khi bạn đăng bài và dùng tính năng chèn hình ảnh của Blogger thì chúng được tự động upload lên Picasa, và tiện ích Popular Posts chỉ lấy các ảnh này làm ảnh đại diện thu nhỏ. Do vậy nếu bạn copy link ảnh từ các trang web khác (không phải từ Picasa) thì sẽ không thấy ảnh thumbnail. Đây cũng là cách mà Blogger khuyến khích người dùng tự viết bài và không nên đi sao chép của người khác.
6/ Ảnh trong bài đăng quá to và lấn sang sidebar
Bạn có thể điều chỉnh kích thước tối đa của ảnh chứa trong bài đăng bằng đoạn CSS sau:
.post img { max-width: 600px; }
Đoạn code trên có nghĩa là nếu bài nào chứa ảnh mà có kích thước quá lớn thì sẽ tự động thu nhỏ (resize) bề rộng còn 600px. Các ảnh nhỏ hơn 600px vẫn giữ nguyên kích thước.
7/ Blog load quá chậm
Có rất nhiều nguyên nhân gây chậm, thường là do bạn không dùng tính năng đọc thêm (read-more) của Blogger mà lại dùng auto-readmore script. Việc phải tải toàn bộ nội dung của tất cả bài đăng ở trang chủ khiến tốc độ blog giảm rất nhiều. Ngoài ra, việc lạm dụng quá nhiều tiện ích bên ngoài như Bài đăng mới, Bài đăng theo nhãn, bài đăng ngẫu nhiên (có ảnh đại diện)... cũng gây chậm đáng kể. Sử dụng các tiện ích do chính Blogger cung cấp là tốt nhất. Bạn có thể tham khảo bài viết này để cải thiện tốc độ cho blog của mình.
8/ Các tiện ích có dùng js không hoạt động
Các link .js trong template của bạn đã die, bạn cần upload chúng lên một host khác (Dropbox, Google Code...). Hoặc bạn có thể chèn trực tiếp đoạn mã trong file js vào thẳng trong template. Cách này có ưu điểm là nhanh, không phụ thuộc vào host nhưng nhược điểm là dễ khiến bọ của Google nhầm lẫn giữa nội dung bài với đoạn mã mà bạn đã chèn, ảnh hưởng tới SEO.
9/ Chuyển toàn bộ Blog sang một tài khoản khác, làm thế nào ?
Đăng nhập vào Blogger -> Cài đặt -> Quyền , ở mục Tác giả blog bạn nhập địa chỉ tài khoản mới (email). Cấp quyền quản trị (Admin) cho tài khoản đó, đăng nhập vào hộp thư tài khoản mới để xác nhận, cuối cùng bạn gỡ bỏ quyền quản trị của tài khoản cũ và remove nó đi. Khi bạn muốn xóa một blog nào đó mà không muốn phải đợi đến 90 ngày thì cũng có thể dùng cách này.
Trên đây là các vấn đề thường gặp của Blogger, cách giải quyết có thể chưa phải là tối ưu. Nếu bạn có ý kiến khác thì có thể bổ sung ở dưới đây, chắc chắn nó sẽ có ích cho nhiều người.
Theo: noct-land.blogspot.com
Điều quan trọng nhất trước khi chỉnh sửa template là sao lưu một bản gốc để có thể phục hồi lại khi cần thiết. Nếu sau khi tùy biến mà bạn nhận ra template của mình bị mất một số thành phần (avatar, label, .v.v...) thì có thể hoàn nguyên mẫu tiện ích về mặc định để "lấy lại những gì đã mất".
1/ Bị mất bài ở trang chủ
Đây là vấn đề mà rất nhiều người mắc phải, nguyên nhân là do tính năng auto-pagination của Blogger tự động cắt bớt số bài đăng để blog của bạn load nhanh hơn. Đặc biệt nếu ở trang chủ có các bài đăng chứa nhiều hình ảnh thì khả năng mất bài là khá cao.
Cách giải quyết: dùng tính năng read more (đọc thêm) của Blogger để thu gọn nội dung các bài đăng ở trang chủ (đừng nhầm lẫn với auto-readmore, nó chắc chắn không giúp bạn giải quyết được vấn đề này). Nếu không thấy tính năng này thì bạn vào phần cài đặt của Blogger rồi chọn cập nhật trình chỉnh sửa bài đăng.
2/ Số bài đăng của mỗi nhãn hiển thị không chính xác
Cách giải quyết : tìm trong template dòng sau
<a expr:href='data:label.url' rel='tag'>
Sửa nó thành:
<a expr:href='data:label.url + "?&max-results=10"' rel='tag'>
10 là số bài đăng tối đa mà bạn muốn hiển thị trên từng nhãn.
3/ Mục bài đăng cũ hơn, bài đăng mới hơn không hiển thị
Lỗi này do nhiều nguyên nhân, cách giải quyết thường là hoàn nguyên mẫu tiện ích về mặc định, nếu vẫn không được thì bạn kiểm tra trong template xem đã có dòng này hay chưa :
#blog-pager { clear : both; }
4/ Tiện ích phân trang không hoạt động
Blog của bạn phải có một số lượng bài đăng nhất định thì tiện ích phân trang mới hoạt động. Ngoài ra nếu bạn cài đặt blog ở trạng thái chỉ có tác giả xem được thì cũng sẽ không thấy phân trang.
5/ Tiện ích Popular Posts không hiển thị ảnh thumbnail
Mặc dù tất cả các bài đăng phổ biến của bạn đều chứa hình ảnh nhưng tiện ích Popular Posts của Blogger vẫn không hiển thị ảnh đại diện. Khi bạn đăng bài và dùng tính năng chèn hình ảnh của Blogger thì chúng được tự động upload lên Picasa, và tiện ích Popular Posts chỉ lấy các ảnh này làm ảnh đại diện thu nhỏ. Do vậy nếu bạn copy link ảnh từ các trang web khác (không phải từ Picasa) thì sẽ không thấy ảnh thumbnail. Đây cũng là cách mà Blogger khuyến khích người dùng tự viết bài và không nên đi sao chép của người khác.
6/ Ảnh trong bài đăng quá to và lấn sang sidebar
Bạn có thể điều chỉnh kích thước tối đa của ảnh chứa trong bài đăng bằng đoạn CSS sau:
.post img { max-width: 600px; }
Đoạn code trên có nghĩa là nếu bài nào chứa ảnh mà có kích thước quá lớn thì sẽ tự động thu nhỏ (resize) bề rộng còn 600px. Các ảnh nhỏ hơn 600px vẫn giữ nguyên kích thước.
7/ Blog load quá chậm
Có rất nhiều nguyên nhân gây chậm, thường là do bạn không dùng tính năng đọc thêm (read-more) của Blogger mà lại dùng auto-readmore script. Việc phải tải toàn bộ nội dung của tất cả bài đăng ở trang chủ khiến tốc độ blog giảm rất nhiều. Ngoài ra, việc lạm dụng quá nhiều tiện ích bên ngoài như Bài đăng mới, Bài đăng theo nhãn, bài đăng ngẫu nhiên (có ảnh đại diện)... cũng gây chậm đáng kể. Sử dụng các tiện ích do chính Blogger cung cấp là tốt nhất. Bạn có thể tham khảo bài viết này để cải thiện tốc độ cho blog của mình.
8/ Các tiện ích có dùng js không hoạt động
Các link .js trong template của bạn đã die, bạn cần upload chúng lên một host khác (Dropbox, Google Code...). Hoặc bạn có thể chèn trực tiếp đoạn mã trong file js vào thẳng trong template. Cách này có ưu điểm là nhanh, không phụ thuộc vào host nhưng nhược điểm là dễ khiến bọ của Google nhầm lẫn giữa nội dung bài với đoạn mã mà bạn đã chèn, ảnh hưởng tới SEO.
9/ Chuyển toàn bộ Blog sang một tài khoản khác, làm thế nào ?
Đăng nhập vào Blogger -> Cài đặt -> Quyền , ở mục Tác giả blog bạn nhập địa chỉ tài khoản mới (email). Cấp quyền quản trị (Admin) cho tài khoản đó, đăng nhập vào hộp thư tài khoản mới để xác nhận, cuối cùng bạn gỡ bỏ quyền quản trị của tài khoản cũ và remove nó đi. Khi bạn muốn xóa một blog nào đó mà không muốn phải đợi đến 90 ngày thì cũng có thể dùng cách này.
Trên đây là các vấn đề thường gặp của Blogger, cách giải quyết có thể chưa phải là tối ưu. Nếu bạn có ý kiến khác thì có thể bổ sung ở dưới đây, chắc chắn nó sẽ có ích cho nhiều người.
Theo: noct-land.blogspot.com
Đăng nhập 1 lúc nhiều ID yahoo trên cùng 1 máy
17:51 |Thông thường, Y!M chỉ cho phép bạn đăng nhập 1 tài khoản Yahoo, nghĩa là để đăng nhập vào tài khoản khác, bạn phải sign out tài khoản hiện thời mới có thể sử dụng Y!M. Tuy nhiên, chỉ cần chỉnh lại 1 ít trong registry của máy tính là bạn có thể đăng nhập cùng lúc nhiều tài khoản (ID) mà không cần phải thay phiên nhau đăng nhập từng ID. Một lưu ý trước khi tiến hành là bạn nên sao lưu toàn bộ registry của Windows phòng khi bạn mắc phải lỗi gì đó khi tiến hành.
Bạn thực hiện theo các bước sau:
- Click Start, chọn run, điền regedit vào hộp thoại và nhấn Enter.
- Cửa sổ Registry Editor hiện ra. Bạn tìm đến khóa HKEY_CURRENT_USER / Software / Yahoo / Pager / Test
- Tại đây, click chột phải vào khóa Test, chọn New -> DWORD Value.
- Bạn đặt tên cho khóa DWORD vừa tạo ra là Plural. Sau đó, click đôi vào khóa vừa tạo ra và thiết lập giá trị cho Value Data là 1 và nhấn OK.
Đóng cửa Registry Editor. Bây giờ bạn có thể chạy 1 lúc nhiều chương trình Yahoo Messenger khác nhau và có thể đăng nhập các tài khoản Yahoo khác nhau trên những chương trình đó mà không cần phải đăng nhập thay phiên như trước đây.
Bạn thực hiện theo các bước sau:
- Click Start, chọn run, điền regedit vào hộp thoại và nhấn Enter.
- Cửa sổ Registry Editor hiện ra. Bạn tìm đến khóa HKEY_CURRENT_USER / Software / Yahoo / Pager / Test
- Tại đây, click chột phải vào khóa Test, chọn New -> DWORD Value.
- Bạn đặt tên cho khóa DWORD vừa tạo ra là Plural. Sau đó, click đôi vào khóa vừa tạo ra và thiết lập giá trị cho Value Data là 1 và nhấn OK.
Đóng cửa Registry Editor. Bây giờ bạn có thể chạy 1 lúc nhiều chương trình Yahoo Messenger khác nhau và có thể đăng nhập các tài khoản Yahoo khác nhau trên những chương trình đó mà không cần phải đăng nhập thay phiên như trước đây.
Nơi chia sẽ Video mới, hot
04:06 |Để trao đổi thông tin các video mới, hot của Việt Nam và thế giới, Minh mong các bạn hãy Nhúng code khung nhận xét bên dưới Hoặc Trang này để có nhiều video hay! Rất mong được sự hợp tác vui vẻ của các bạn! Chúc Các bạn thành đạt trong cuộc sống.
Thân chào các bạn!!!
Thân chào các bạn!!!
Trang nghe nhạc
02:14 |Để trao đổi thông tin âm nhạc nhất là các album nhạc mới của Việt Nam, Minh mong các bạn hãy Nhúng code khung nhận xét bên dưới Hoặc trang này để có nhiều nhạc hay! Rất mong được sự hợp tác vui vẻ của các bạn! Chúc Các bạn thành đạt trong cuộc sống.
Thân chào các bạn!!!
Thân chào các bạn!!!
[Yêu cầu] - Kwick jQuey cho tiện ích Random posts
09:06 |Tiện ích bài viết ngẫu nhiên (random posts) nói chung cũng là 1 trong những tiện ích ít người dùng, trước kia mình cũng có post vài bài viết về tiện ích này, mới nhất là ở bên mothuthuat.com, nhưng làm biếng, vẫn chưa rinh về đây. Hôm nay có người yêu cầu, mình sẽ hướng dẫn 1 style mới của tiện ích này, đó là kết hợp hiệu ứng kwick từ jQuery cho tiện ích này.
Xem DEMO
Hiệu ứng Kwick này cũng khá mượt, trước kia mình nhớ là có thấy nó ở trong 1 template nào đó của joomla, sau này lại thấy cộng đồng blogspot Việt dùng. Và mình cũng đã đọc qua 1 bài hướng dẫn chèn cái Kwick này vào blogspot luôn (nhưng giờ thì không nhớ blog nào nữa). Tính qua đó copy code về để chuẩn bị thủ thuật cho nhanh, nhưng ko nhớ, nên phải đi lang thang view source và xào nấu lại.
Hình ảnh minh họa
Theo yêu cầu mình sẽ kết hợp hiệu ứng Kwick này vào tiện ích random posts. Và ở đây tiện ích sẽ giữ nguyên kích thước như bản gốc mà 1 số template đang dùng.
Bài này cũng đơn giản, các bạn chỉ cần tạo 1 tiện ích HTML/javascript và dán code bên dưới vào là được:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src='http://fandung.googlecode.com/svn/trunk/js/noct.js' type='text/javascript'></script>
<style type="text/css">
.kwicks { position:relative;width: 960px; height: 320px;}
.kwicks li{width: 192px;height: 320px;display: block;overflow: hidden;padding: 0px; }
.kwicks li img {width:720px;height:320px;}
.fadeout {
border-right:1px solid #aaa;
display: block;
position: absolute;
right: 0;
width: 300px;
height: 320px;
z-index: 4;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj0rlG5T5lSfpOjoLBE9lmTgg9B-hPEIX7FaIEy1jHN7gtky0lHyEnecJlLU0TxnN6D4MyZ3YrWzh4zTXUY42Qh7jqPtYqr6WQvCBbo-HzrTXcuX4tmy-5e08anYDEIcQqQ9uHKKbM9vPb/) repeat-y scroll top right transparent; }
.cmkwick {position: absolute;right:10px;bottom:80px;font-weight:bold;font-size:60px;line-height: 1;opacity: 0.5;text-shadow: black 0px 0px 5px;cursor: pointer;color:#fff; }
#kwick_5 .fadeout { border-right:none }
.kwicks.horizontal li {margin-right: 0px; float: left; }
.kwicks.vertical li { margin-bottom: 5px; }
.kwicks .excerpt {
background: #fff;
color: #000;
opacity: 0.6;
filter:alpha(opacity=90);
position: absolute;
padding: 10px;
bottom: 0px;
display: block;
width: 100%; }
.excerpt strong {font-family: "Arial",Arial,Helvetica,san-serif;font-weight: normal;letter-spacing: 0.4px;height: 66px;line-height: 26px;font-size: 14px;display:block;text-transform:uppercase; }
.kwick_style {margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; position: absolute;}
#kwick_1 {left: 0px; width: 192px;}
#kwick_2 {width: 192px; left: 192px; }
#kwick_3 {width: 192px; left: 384px; }
#kwick_4 {width: 192px; left: 576px;}
#kwick_5 {right: 0px; width: 192px;}
#jquery-rd-posts-loading {background:#136eab;text-align:center;width:960px;}
</style>
<div id="jquery-rd-posts">
<div id="jquery-rd-posts-loading">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1OgiIhxxJSQqPBJcwo-HTlKylXTyDzzaEogccoNATLex7zb7oC6u6dQgtRk-tUMpn10Fs1inJCi6DgkdAjHJaxpOqp9bzkzMfnU3PuTRHZZwOlrep3SULxUhJe6eQqTkWYBOx95LF5PCs/s550/loading.gif" />
</div>
</div>
<script src='http://fandung.googlecode.com/svn/trunk/js/noct.js' type='text/javascript'></script>
<style type="text/css">
.kwicks { position:relative;width: 960px; height: 320px;}
.kwicks li{width: 192px;height: 320px;display: block;overflow: hidden;padding: 0px; }
.kwicks li img {width:720px;height:320px;}
.fadeout {
border-right:1px solid #aaa;
display: block;
position: absolute;
right: 0;
width: 300px;
height: 320px;
z-index: 4;
background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj0rlG5T5lSfpOjoLBE9lmTgg9B-hPEIX7FaIEy1jHN7gtky0lHyEnecJlLU0TxnN6D4MyZ3YrWzh4zTXUY42Qh7jqPtYqr6WQvCBbo-HzrTXcuX4tmy-5e08anYDEIcQqQ9uHKKbM9vPb/) repeat-y scroll top right transparent; }
.cmkwick {position: absolute;right:10px;bottom:80px;font-weight:bold;font-size:60px;line-height: 1;opacity: 0.5;text-shadow: black 0px 0px 5px;cursor: pointer;color:#fff; }
#kwick_5 .fadeout { border-right:none }
.kwicks.horizontal li {margin-right: 0px; float: left; }
.kwicks.vertical li { margin-bottom: 5px; }
.kwicks .excerpt {
background: #fff;
color: #000;
opacity: 0.6;
filter:alpha(opacity=90);
position: absolute;
padding: 10px;
bottom: 0px;
display: block;
width: 100%; }
.excerpt strong {font-family: "Arial",Arial,Helvetica,san-serif;font-weight: normal;letter-spacing: 0.4px;height: 66px;line-height: 26px;font-size: 14px;display:block;text-transform:uppercase; }
.kwick_style {margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; position: absolute;}
#kwick_1 {left: 0px; width: 192px;}
#kwick_2 {width: 192px; left: 192px; }
#kwick_3 {width: 192px; left: 384px; }
#kwick_4 {width: 192px; left: 576px;}
#kwick_5 {right: 0px; width: 192px;}
#jquery-rd-posts-loading {background:#136eab;text-align:center;width:960px;}
</style>
<div id="jquery-rd-posts">
<div id="jquery-rd-posts-loading">
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1OgiIhxxJSQqPBJcwo-HTlKylXTyDzzaEogccoNATLex7zb7oC6u6dQgtRk-tUMpn10Fs1inJCi6DgkdAjHJaxpOqp9bzkzMfnU3PuTRHZZwOlrep3SULxUhJe6eQqTkWYBOx95LF5PCs/s550/loading.gif" />
</div>
</div>
- Save widget lại. sau đó vào code template, chèn đoạn code bên dưới vào trước thẻ đóng </body>
<script type="text/javascript">
home_page = "http://www.fandung.com/";
kwlabel = "Film";
</script>
<script src="http://fandung.googlecode.com/svn/trunk/js/jquery-rd-post-v2.js" type="text/javascript"></script>
- Mình chọn chèn vào vị trí cuối cùng để không tạo cảm giác blog load chậm.home_page = "http://www.fandung.com/";
kwlabel = "Film";
</script>
<script src="http://fandung.googlecode.com/svn/trunk/js/jquery-rd-post-v2.js" type="text/javascript"></script>
- Các bạn thay http://www.fandung.com/ và Film thành tên miền của blog bạn và tên nhãn mà bạn muốn hiển thị bài viết.
- Khuyên cáo : nên chọn 1 nhãn nào đó để hiển thị mà thôi, không nên lấy cả blog để hiển thị, do nếu feed càng nhiều bài viết thì tiện ích load càng chậm.
Menu đẹp cho blogger
22:57 |Để các bạn có một menu như ý muốn, làm đẹp thêm cho blog, hôm nay mình xin hướng dẫn tạo như sau: Demo
Bước 1. Đặt đoạn code dưới đây vào trước thẻ ]]></b:skin>
#menu h2 {display:none}
.Bước 1. Đặt đoạn code dưới đây vào trước thẻ ]]></b:skin>
#menu h2 {display:none}
[ Yêu Cầu ] - Chèn quảng cáo giữa 2 bài viết bất kỳ trên trang chủ
18:18 |Việc chèn quảng cáo vào blog cũng khá đơn giản, ta chỉ cần xác định vị trí đặt quảng cáo (như trên header, top main, sidebar, hay là bên dưới footer) rồi tạo 1 widget HTML/javascript để dán code quảng cáo vào. Đó là các vị trí đơn giản, tức là chèn giữa các widget, nhưng còn chèn giữa các bài viết thì sao???
Xem DEMO
Lưu ý : DEMO chỉ xem được khi thủ thuật còn tồn tại trên blog test
Như chúng ta đã biết các bài viết hiển thị ở trang chủ hay các trang label, archive đều nằm trong widget Blog1. Các bài viết đều được lặp tuần tự để hiển thị ra trên các trang này. Nếu ta chèn thẳng code quảng cáo vào trong code của widget Blog1 thì các quảng cáo này cũng sẽ được lặp lại tuần tự. Như thế thì có bao nhiêu bài viết hiển thị thì sẽ có bấy nhiêu quảng cáo xuất hiển, và các quảng cáo này đều giống nhau. Và với bài viết này, với 1 chút thủ thuật nhỏ, mình sẽ hướng dẫn cho các bạn cách chèn vào quảng cáo vào giữa 2 bài viết bất kỳ trên trang chủ. Và ở mỗi vị trí này (tức là giữa các bài viết) ta hoàn toàn có thể chèn các quảng cáo khác nhau.
Sau đây là các bước thực hiện:
- Vào Thiết kế --> Chỉnh sửa code HTML --> nhấp chọn mở rộng mẫu tiện ích
- Tìm đoạn code tương tự như bên dưới (lưu ý : có thể mỗi emplate đoạn code bên dưới sẽ dài ngắn khác nhau, nhưng quan trọng ta tìm đúng vị trí của nó và chú ý đến đoạn code highlight)
<div class='blog-posts hfeed'>
<b:include data='top' name='status-message'/>
<data:adStart/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
<b:if cond='data:post.trackLatency'>
<data:post.latencyJs/>
</b:if>
</b:loop>
<data:adEnd/>
</div>
<b:include data='top' name='status-message'/>
<data:adStart/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
<b:if cond='data:post.trackLatency'>
<data:post.latencyJs/>
</b:if>
</b:loop>
<data:adEnd/>
</div>
- Sau khi tìm thấy đoạn code như trên, ta thêm đoạn code màu hồng như bên dưới :
<div class='blog-posts hfeed'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
<b:include data='top' name='status-message'/>
<data:adStart/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
<b:if cond='data:post.trackLatency'>
<data:post.latencyJs/>
</b:if>
<script type='text/javascript'>
stt=stt+1;
if (stt==1) {document.write(ads1);}
if (stt==2) {document.write(ads2);}
</script>
</b:loop>
<data:adEnd/>
</div>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
<b:include data='top' name='status-message'/>
<data:adStart/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<data:adEnd/>
<data:adCode/>
<data:adStart/>
</b:if>
<b:if cond='data:post.trackLatency'>
<data:post.latencyJs/>
</b:if>
<script type='text/javascript'>
stt=stt+1;
if (stt==1) {document.write(ads1);}
if (stt==2) {document.write(ads2);}
</script>
</b:loop>
<data:adEnd/>
</div>
- Với :
+ stt = 1: là vị trí giữa bài viết 1 và 2
+ stt = 2: là vị trí giữa bài viết 2 và 3
+ và thực hiện tương tự ta có các vị trí khác.
- Nếu muốn các quảng cáo chỉ xuất hiển ở trang chủ thì ta thay đoạn code bên dưới :
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
bằng :
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
</b:if>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
</b:if>
Ảnh minh họa ở trang chủ:
Mở rộng hơn, các bạn có thể tùy chỉnh thêm bằng cách cho hiển thị các quảng cáo khác ở trang label hoặc trang archive.
- ví dụ ở trang archive, ta thay quảng cáo ads1 và ads2 thành các quảng cáo ads3, ads4
- để thực hiện ta thay đoạn code ở trên thành code bên dưới :
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
</b:if>
<b:if cond='data:blog.pageType == "archive"'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 3';
var ads2='Code của quảng cáo 4';
//]]>
</script>
</b:if>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
</b:if>
<b:if cond='data:blog.pageType == "archive"'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 3';
var ads2='Code của quảng cáo 4';
//]]>
</script>
</b:if>
Ảnh minh họa ở trang archive:
- Ngoài 2 trang này (trang trang chủ và archive) ta có thể hiển thị các quảng cáo ads5 và ads6 ở các trang còn lại (các trang label và các trang index khác). Để thực hiển thì ta thay đoạn code ở trên bằng đoạn code bên dưới:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
<b:else/>
<b:if cond='data:blog.pageType == "archive"'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 3';
var ads2='Code của quảng cáo 4';
//]]>
</script>
<b:else/>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 5';
var ads2='Code của quảng cáo 6';
//]]>
</script>
</b:if>
</b:if>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 1';
var ads2='Code của quảng cáo 2';
//]]>
</script>
<b:else/>
<b:if cond='data:blog.pageType == "archive"'>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 3';
var ads2='Code của quảng cáo 4';
//]]>
</script>
<b:else/>
<script type='text/javascript'>
//<![CDATA[
var stt=0;
var ads1='Code của quảng cáo 5';
var ads2='Code của quảng cáo 6';
//]]>
</script>
</b:if>
</b:if>
- Khi thực hiện cách mở rộng tới đây, chúng ta vẫn còn 1 thiếu sót, đó là quảng cáo vẫn có thể sẽ hiển thị ở trang bài viết. nếu vị trí 1 là giữa bài 1 và bài 2 thì quảng cáo sẽ xuất hiện ở trang bài viết. Nếu muốn không cho quảng cáo này hiển thị ở trang bài viết thì các bạn thay đoạn code này :
<script type='text/javascript'>
stt=stt+1;
if (stt==1) {document.write(ads1);}
if (stt==2) {document.write(ads2);}
</script>
thành:stt=stt+1;
if (stt==1) {document.write(ads1);}
if (stt==2) {document.write(ads2);}
</script>
<b:if cond='data:blog.pageType != "item"'>
<script type='text/javascript'>
stt=stt+1;
if (stt==1) {document.write(ads1);}
if (stt==2) {document.write(ads2);}
</script>
</b:if>
<script type='text/javascript'>
stt=stt+1;
if (stt==1) {document.write(ads1);}
if (stt==2) {document.write(ads2);}
</script>
</b:if>
Ảnh minh họa ở các trang còn lại, ví dụ trang label:
- Lưu ý : chỉ thay đổi nội dung code của các quảng cáo, còn các biến ads1, ads2 thì phải giữ nguyên, tức là quảng cáo 5 và 6 tên biến vẫn là ads1 và ads2, chứ không phải là ads5, ads6
- Cuối cùng là save template và kiểm tra kết quả.
Share code tivi online
04:43 |
Read more…
[ Yêu cầu ] - Ẩn 1 bài viết bất kỳ trong tiện ích Popular Posts
22:08 |Tiện ích bài viết xem nhiều (Popular Posts) được cung cấp bởi Blogger. Nó hiển thị các bài viết được xem nhiều nhất trên blog. Giúp cho đọc giả của blog có thể đọc những bài viết được quan tâm nhiều nhất trên blog của bạn. Nhưng vì 1 vấn đề nào đó mà bạn không muốn hiển thị nó trên tiện ích. Khi đó ta hoàn toàn có thể ẩn nó đi 1 cách dễ dàng.
Thủ thuật cũng khá đơn giản nên mình sẽ đi ngay vào hướng dẫn.
- Đầu tiên các bạn phải xác định được link của bài viết cần ẩn.
- Sau đó vào Thiết kế -> vào chỉnh sửa HTML -> nhấp chọn mở rộng mẫu tiện ích, rồi tìm đến đoạn code của tiện ích Bài viết xem nhiều (Popular posts). Rồi thêm các đoạn code highlight như bên dưới :
- Thay dòng LINK BÀI VIẾT CẦN ĐƯỢC ẨN thành link bài viết là được.
- Cuối cùng save template lại.
Read more…
Thủ thuật cũng khá đơn giản nên mình sẽ đi ngay vào hướng dẫn.
- Đầu tiên các bạn phải xác định được link của bài viết cần ẩn.
- Sau đó vào Thiết kế -> vào chỉnh sửa HTML -> nhấp chọn mở rộng mẫu tiện ích, rồi tìm đến đoạn code của tiện ích Bài viết xem nhiều (Popular posts). Rồi thêm các đoạn code highlight như bên dưới :
<b:widget id='PopularPosts1' locked='false' title='Bài đăng Phổ biến' type='PopularPosts'>
<b:includable id='main'>
<b:if cond='data:title'><h2><data:title/></h2></b:if>
<div class='widget-content popular-posts'>
<ul>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.href != "LINK BÀI VIẾT CẦN ĐƯỢC ẨN"'>
<li>
<b:if cond='data:showThumbnails == "false"'>
<b:if cond='data:showSnippets == "false"'>
<!-- (1) No snippet/thumbnail -->
<a expr:href='data:post.href'><data:post.title/></a>
<b:else/>
<!-- (2) Show only snippets -->
<div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
<div class='item-snippet'><data:post.snippet/></div>
</b:if>
<b:else/>
<b:if cond='data:showSnippets == "false"'>
<!-- (3) Show only thumbnails -->
<div class='item-thumbnail-only'>
<b:if cond='data:post.thumbnail'>
<div class='item-thumbnail'>
<a expr:href='data:post.href' target='_blank'>
<img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
</a>
</div>
</b:if>
<div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
</div>
<div style='clear: both;'/>
<b:else/>
<!-- (4) Show snippets and thumbnails -->
<div class='item-content'>
<b:if cond='data:post.thumbnail'>
<div class='item-thumbnail'>
<a expr:href='data:post.href' target='_blank'>
<img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
</a>
</div>
</b:if>
<div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
<div class='item-snippet'><data:post.snippet/></div>
</div>
<div style='clear: both;'/>
</b:if>
</b:if>
</li>
</b:if> <!--kết thúc lệnh ẩn 1 bài viết được chỉ định -->
</b:loop>
</ul>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
<b:includable id='main'>
<b:if cond='data:title'><h2><data:title/></h2></b:if>
<div class='widget-content popular-posts'>
<ul>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.href != "LINK BÀI VIẾT CẦN ĐƯỢC ẨN"'>
<li>
<b:if cond='data:showThumbnails == "false"'>
<b:if cond='data:showSnippets == "false"'>
<!-- (1) No snippet/thumbnail -->
<a expr:href='data:post.href'><data:post.title/></a>
<b:else/>
<!-- (2) Show only snippets -->
<div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
<div class='item-snippet'><data:post.snippet/></div>
</b:if>
<b:else/>
<b:if cond='data:showSnippets == "false"'>
<!-- (3) Show only thumbnails -->
<div class='item-thumbnail-only'>
<b:if cond='data:post.thumbnail'>
<div class='item-thumbnail'>
<a expr:href='data:post.href' target='_blank'>
<img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
</a>
</div>
</b:if>
<div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
</div>
<div style='clear: both;'/>
<b:else/>
<!-- (4) Show snippets and thumbnails -->
<div class='item-content'>
<b:if cond='data:post.thumbnail'>
<div class='item-thumbnail'>
<a expr:href='data:post.href' target='_blank'>
<img alt='' border='0' expr:height='data:thumbnailSize' expr:src='data:post.thumbnail' expr:width='data:thumbnailSize'/>
</a>
</div>
</b:if>
<div class='item-title'><a expr:href='data:post.href'><data:post.title/></a></div>
<div class='item-snippet'><data:post.snippet/></div>
</div>
<div style='clear: both;'/>
</b:if>
</b:if>
</li>
</b:if> <!--kết thúc lệnh ẩn 1 bài viết được chỉ định -->
</b:loop>
</ul>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
- Thay dòng LINK BÀI VIẾT CẦN ĐƯỢC ẨN thành link bài viết là được.
- Cuối cùng save template lại.
Adv Recent Posts - Load nhiều tiện ích RP cùng 1 lúc
09:39 |Adv recent posts đơn giản chỉ là tiện ích recent posts thông thường, nhưng được mở rộng ra hơn 1 chút là có thể hiển được nhiều tiện ích recent posts với 1 lần load so với cách cũ là mỗi lần load chỉ hiển thị 1 tiện ích recent posts. Và 1 điểm nữa là chỉ sử dụng link feeed chính của blog, mà không cần dùng link feed theo từng nhãn.
Xem DEMO
Cập nhật thêm DEMO:
Tiện ích VnE TabNews với Adv Recent Posts : XEM
Ở bài viết trước mình đã giới thiệu sơ qua về thủ thuật này rồi, nên mình sẽ không nói lại. Và 1 lưu ý nữa là : ở thủ thuật này mình sẽ chỉ giới thiệu đoạn mã javascript và cách chỉnh sửa nó, còn việc thực hiện bố cục hiển thị cũng như thiết kế giao diện cho từng tiện ích thì mình sẽ không giới thiệu.
Hình ảnh minh họa
(click vào ảnh để xem với kích thước thật)
(click vào ảnh để xem với kích thước thật)
- Trước tiên thực hiện thủ thuật, các bạn phải xác định vị trí hiển thị cho các tiện ích recent posts. Ví dụ như mình có 4 tiện ích recent posts, và mình muốn chúng hiển thị ở phần main, và có bố cục như bên dưới (như trong demo) thì mình sẽ phải tạo 1 widget HTML/javascript (ví dụ HTML1) và nó có nội dung như bên dưới :
+ Hình minh họa:
+ Code mẫu của widget HTML:
<table>
<tbody>
<tr>
<td>
<div id="a11">
<h3>Blogger Tips</h3>
<div id="label1"></div>
</div>
<div id="a22">
<h3>Thong bao</h3>
<div id="label2"></div>
</div>
</td>
</tr>
<tr>
<td>
<div id="a33">
<h3>BlOg FD</h3>
<div id="label3"></div>
</div>
<div id="a44">
<h3>jQuery</h3>
<div id="label4"></div>
</div>
</td>
</tr>
</tbody>
</table>
<tbody>
<tr>
<td>
<div id="a11">
<h3>Blogger Tips</h3>
<div id="label1"></div>
</div>
<div id="a22">
<h3>Thong bao</h3>
<div id="label2"></div>
</div>
</td>
</tr>
<tr>
<td>
<div id="a33">
<h3>BlOg FD</h3>
<div id="label3"></div>
</div>
<div id="a44">
<h3>jQuery</h3>
<div id="label4"></div>
</div>
</td>
</tr>
</tbody>
</table>
- Ngoài ra các bạn cũng có thể đặt 1 cái RP ở Sidebar, và 4 cái ở phần main cũng được, nhưng quan trọng là bạn hãy nhớ các id : label1, label2, ... label5. Như vậy thì ở phần sidebar ta sẽ có 1 cái widget HTML/javascript có nội dụng như sau tương tự như sau:
<div id="a55">
<h3>Film</h3>
<div id="label5"></div>
</div>
<h3>Film</h3>
<div id="label5"></div>
</div>
- Các bạn sẽ thắc mắc tại sao nội dung nó chỉ là các thẻ div rỗng. Thẻ div rỗng nãy sẽ là địa chỉ mà mã javascript sẽ hiển thị bài viết vào, dựa vào các id đã được đặt sẵn. Như vậy quan trọng chỉ là thẻ các thẻ div : <div id="label1"></div> , <div id="label2"></div> , ... <div id="label5"></div> .
- Phần tạo bố cục và xác định vị trí cho các tiện ích hiển thị thì mình sẽ chỉ hướng dẫn được như vậy thôi, phần còn lại (viết code CSS và HTML) thì mình để lại cho các bạn. Bởi mình có hướng dẫn cụ thể 1 bố cục hoặc 1 giao diện nào đó thì cũng khó mà "tông/tông" với blog của mỗi người.
Và bây giờ là code của thủ thuật :
- Đầu tiên các bạn sẽ chèn đoạn mã script này vào trước thẻ </head>
//<![CDATA[
function stripHtmlTags(s,max){
s=s.replace(/<br.*?>/ig, ' ');
return s.replace(/<.*?>/ig, '').split(/\s+/).slice(0,max-1).join(' ')
}
function showadvrp(json) {
img = new Array();
var n1 = 0;
var n2 = 0;
var n3 = 0;
var n4 = 0;
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var pcm ;
var posturl;
if("media$thumbnail" in entry){
var thumburl = entry.media$thumbnail.url;
}
else{ var thumburl = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaxcqfJmyZBVtQ1FAg1tUS6tHxBy1q4_l_eHUbmWMYw8VJhEdkIMrzvKymt81KlDLOR6AB9yt8mZ9PK1fy4asOCjtq-88xU3-SZF_j4qkrY5fjzRH6g3As9bmFwX-H11Gkl_sKZLyXdhe7/"};
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}
if ("thr$total" in entry) {pcm=entry.thr$total.$t;}
else {pcm="none";}
if (pcm==0) {var comment = 'No comment';}
else if (pcm=='none') {var comment = '<span style="color:#f00;">Do not comment here</span>';}
else {var comment = '<font style="color:#0082ff;">'+ pcm +'</font> Comments';}
var plabel = new Array();
var textlabel = new Array();
var cate = entry.category;
if(cate) {
for (var k = 0; k < entry.category.length; k++) {
plabel[k] = ' <a class="label-link" href="http://www.fandung.com/search/label/'+entry.category[k].term+'">'+entry.category[k].term+'</a> ';
textlabel [k]=entry.category[k].term;
}
var condlabel=textlabel.join(" ");
}
else {plabel = "No label";}
if ("content" in entry) {
var postcontent = entry.content.$t;}
else
if ("summary" in entry) {
var postcontent = entry.summary.$t;}
else postcontent = "";
s = postcontent; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5);
if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) {img[i] = d;} else {img[i]="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOvwhzdTejYUsMyMWpK1V1yr-3-mvB7w42mZ007rYjoRdqjy57awfJmjgXwiB6F9xt8gvzgRy1GS8UR9OzViTuZJr4oI1ovBM0TlSR415ejBhdPz3AH7B83r5OWWG-sQVMgbQZ4FNSFjw/s400/noimage.png";}
var advrc = '<li class="adv-rc-list"><img src="'+thumburl+'" style="width:40px; float:left;padding:1px; border:1px solid #ccc;margin-right:5px;" /><a href="'+posturl+'">'+posttitle+'</a><br/><i style="color:#888;">('+comment+')</i></li>';
var advrc_0 = '<li class="adv-rc-list-0"><img src="'+img[i]+'" style="width:100px;height:90px; float:left;padding:1px; border:1px solid #ccc;margin-right:5px;" /><a href="'+posturl+'"><b>'+posttitle+'</b></a><br/><i style="color:#888;">('+comment+')</i><br/>'+stripHtmlTags(postcontent,32)+' ...<p style="border-bottom:1px dashed #f80;margin:7px 0;"></p></li>';
var advrc_01 = '<li class="adv-rc-list-01"><a href="'+posturl+'"><b>'+posttitle+'</b></a> - <i style="color:#888;">('+comment+')</i><br/><img src="'+img[i]+'" style="width:100px;height:90px; float:left;padding:1px; border:1px solid #ccc;margin-right:5px;" />'+stripHtmlTags(postcontent,32)+' ...</li><p style="border-bottom:1px dashed #f80;margin:7px 0;"></p>';
var advrc_1 = '<li class="adv-rc-list-1"><a href="'+posturl+'"><b>'+posttitle+'</b></a><br/><i style="color:#888;">('+comment+')</i><br/><img src="'+img[i]+'" style="width:270px;height:100px;padding:1px; border:1px solid #ccc;margin-right:5px;" /><br/>'+stripHtmlTags(postcontent,32)+' ...<p style="border-bottom:1px dashed #f80;margin:8px 0;"></p></li>';
var advrc_2 = '<li class="adv-rc-list-2"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT7V5LCr21Zy30iZnXB3r9L4F5oI_oofPr6j9q33zLUOSo8ua_7YX7CGZ3TKvwJ1JBOqsOv1cMBttRbQCKcBOHWbfa3x9hyxfFiFA7cR_Yfb0Dl24L7ytVfv6P2AGkcV7OitMlJwcYDdj4/" /> <a href="'+posturl+'"><b>'+posttitle+'</b></a> - <i style="color:#888;">('+comment+')</i></li>';
var advrc_3 = '<li class="adv-rc-list-3"><span class="listcm">'+pcm+'</span> <a href="'+posturl+'"><b>'+posttitle+'</b></a></li>';
if ((condlabel.match("Thu Thuat Blog"))&&(n1<adv_num1)) {
n1=n1+1;
if (n1==1) {document.getElementById('label1').innerHTML += advrc_0;}
else {document.getElementById('label1').innerHTML += advrc;}
}
else if ((condlabel.match("Announcement"))&&(n2<adv_num2)) {
n2=n2+1;
document.getElementById('label2').innerHTML += advrc;
}
else if ((condlabel.match("BlOgFD"))&&(n3<adv_num3)) {
n3=n3+1;
if (n3==1) {document.getElementById('label3').innerHTML += advrc_1;}
else {document.getElementById('label3').innerHTML += advrc_2;}
}
else if ((condlabel.match("jQuery"))&&(n4<adv_num4)) {
n4=n4+1;
if (n4==1) {document.getElementById('label4').innerHTML += advrc_01;}
else {document.getElementById('label4').innerHTML += advrc_3;}
}
var n1234 = n1 + n2 + n3 + n4;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
}
}
//]]>
function stripHtmlTags(s,max){
s=s.replace(/<br.*?>/ig, ' ');
return s.replace(/<.*?>/ig, '').split(/\s+/).slice(0,max-1).join(' ')
}
function showadvrp(json) {
img = new Array();
var n1 = 0;
var n2 = 0;
var n3 = 0;
var n4 = 0;
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var pcm ;
var posturl;
if("media$thumbnail" in entry){
var thumburl = entry.media$thumbnail.url;
}
else{ var thumburl = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaxcqfJmyZBVtQ1FAg1tUS6tHxBy1q4_l_eHUbmWMYw8VJhEdkIMrzvKymt81KlDLOR6AB9yt8mZ9PK1fy4asOCjtq-88xU3-SZF_j4qkrY5fjzRH6g3As9bmFwX-H11Gkl_sKZLyXdhe7/"};
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}
if ("thr$total" in entry) {pcm=entry.thr$total.$t;}
else {pcm="none";}
if (pcm==0) {var comment = 'No comment';}
else if (pcm=='none') {var comment = '<span style="color:#f00;">Do not comment here</span>';}
else {var comment = '<font style="color:#0082ff;">'+ pcm +'</font> Comments';}
var plabel = new Array();
var textlabel = new Array();
var cate = entry.category;
if(cate) {
for (var k = 0; k < entry.category.length; k++) {
plabel[k] = ' <a class="label-link" href="http://www.fandung.com/search/label/'+entry.category[k].term+'">'+entry.category[k].term+'</a> ';
textlabel [k]=entry.category[k].term;
}
var condlabel=textlabel.join(" ");
}
else {plabel = "No label";}
if ("content" in entry) {
var postcontent = entry.content.$t;}
else
if ("summary" in entry) {
var postcontent = entry.summary.$t;}
else postcontent = "";
s = postcontent; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5);
if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) {img[i] = d;} else {img[i]="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOvwhzdTejYUsMyMWpK1V1yr-3-mvB7w42mZ007rYjoRdqjy57awfJmjgXwiB6F9xt8gvzgRy1GS8UR9OzViTuZJr4oI1ovBM0TlSR415ejBhdPz3AH7B83r5OWWG-sQVMgbQZ4FNSFjw/s400/noimage.png";}
var advrc = '<li class="adv-rc-list"><img src="'+thumburl+'" style="width:40px; float:left;padding:1px; border:1px solid #ccc;margin-right:5px;" /><a href="'+posturl+'">'+posttitle+'</a><br/><i style="color:#888;">('+comment+')</i></li>';
var advrc_0 = '<li class="adv-rc-list-0"><img src="'+img[i]+'" style="width:100px;height:90px; float:left;padding:1px; border:1px solid #ccc;margin-right:5px;" /><a href="'+posturl+'"><b>'+posttitle+'</b></a><br/><i style="color:#888;">('+comment+')</i><br/>'+stripHtmlTags(postcontent,32)+' ...<p style="border-bottom:1px dashed #f80;margin:7px 0;"></p></li>';
var advrc_01 = '<li class="adv-rc-list-01"><a href="'+posturl+'"><b>'+posttitle+'</b></a> - <i style="color:#888;">('+comment+')</i><br/><img src="'+img[i]+'" style="width:100px;height:90px; float:left;padding:1px; border:1px solid #ccc;margin-right:5px;" />'+stripHtmlTags(postcontent,32)+' ...</li><p style="border-bottom:1px dashed #f80;margin:7px 0;"></p>';
var advrc_1 = '<li class="adv-rc-list-1"><a href="'+posturl+'"><b>'+posttitle+'</b></a><br/><i style="color:#888;">('+comment+')</i><br/><img src="'+img[i]+'" style="width:270px;height:100px;padding:1px; border:1px solid #ccc;margin-right:5px;" /><br/>'+stripHtmlTags(postcontent,32)+' ...<p style="border-bottom:1px dashed #f80;margin:8px 0;"></p></li>';
var advrc_2 = '<li class="adv-rc-list-2"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT7V5LCr21Zy30iZnXB3r9L4F5oI_oofPr6j9q33zLUOSo8ua_7YX7CGZ3TKvwJ1JBOqsOv1cMBttRbQCKcBOHWbfa3x9hyxfFiFA7cR_Yfb0Dl24L7ytVfv6P2AGkcV7OitMlJwcYDdj4/" /> <a href="'+posturl+'"><b>'+posttitle+'</b></a> - <i style="color:#888;">('+comment+')</i></li>';
var advrc_3 = '<li class="adv-rc-list-3"><span class="listcm">'+pcm+'</span> <a href="'+posturl+'"><b>'+posttitle+'</b></a></li>';
if ((condlabel.match("Thu Thuat Blog"))&&(n1<adv_num1)) {
n1=n1+1;
if (n1==1) {document.getElementById('label1').innerHTML += advrc_0;}
else {document.getElementById('label1').innerHTML += advrc;}
}
else if ((condlabel.match("Announcement"))&&(n2<adv_num2)) {
n2=n2+1;
document.getElementById('label2').innerHTML += advrc;
}
else if ((condlabel.match("BlOgFD"))&&(n3<adv_num3)) {
n3=n3+1;
if (n3==1) {document.getElementById('label3').innerHTML += advrc_1;}
else {document.getElementById('label3').innerHTML += advrc_2;}
}
else if ((condlabel.match("jQuery"))&&(n4<adv_num4)) {
n4=n4+1;
if (n4==1) {document.getElementById('label4').innerHTML += advrc_01;}
else {document.getElementById('label4').innerHTML += advrc_3;}
}
var n1234 = n1 + n2 + n3 + n4;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
}
}
//]]>
- Ở đoạn script trên có các biến : advrc, advrc_0, .., advrc_3. Đây là các biến để tạo giao diện riêng cho các tiện ích recent posts. Và các biến adv_num1, ...adv_num4 là số bài viết hiển thị ở mỗi tiện ích recent posts (tương ứng với các thẻ div có id lần lượt là : label1, ... label4).
- Để hiểu rõ hơn mình sẽ mô tả cách hoạt động chính của đoạn javascript trên. Đoạn code chính của thủ thuật chính là đoạn code bên dưới :
if ((condlabel.match("Thu Thuat Blog"))&&(n1<adv_num1)) {
n1=n1+1;
if (n1==1) {document.getElementById('label1').innerHTML += advrc_0;}
else {document.getElementById('label1').innerHTML += advrc;}
}
else if ((condlabel.match("Announcement"))&&(n2<adv_num2)) {
n2=n2+1;
document.getElementById('label2').innerHTML += advrc;
}
else if ((condlabel.match("BlOgFD"))&&(n3<adv_num3)) {
n3=n3+1;
if (n3==1) {document.getElementById('label3').innerHTML += advrc_1;}
else {document.getElementById('label3').innerHTML += advrc_2;}
}
else if ((condlabel.match("jQuery"))&&(n4<adv_num4)) {
n4=n4+1;
if (n4==1) {document.getElementById('label4').innerHTML += advrc_01;}
else {document.getElementById('label4').innerHTML += advrc_3;}
}
var n1234 = n1 + n2 + n3 + n4;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
}
n1=n1+1;
if (n1==1) {document.getElementById('label1').innerHTML += advrc_0;}
else {document.getElementById('label1').innerHTML += advrc;}
}
else if ((condlabel.match("Announcement"))&&(n2<adv_num2)) {
n2=n2+1;
document.getElementById('label2').innerHTML += advrc;
}
else if ((condlabel.match("BlOgFD"))&&(n3<adv_num3)) {
n3=n3+1;
if (n3==1) {document.getElementById('label3').innerHTML += advrc_1;}
else {document.getElementById('label3').innerHTML += advrc_2;}
}
else if ((condlabel.match("jQuery"))&&(n4<adv_num4)) {
n4=n4+1;
if (n4==1) {document.getElementById('label4').innerHTML += advrc_01;}
else {document.getElementById('label4').innerHTML += advrc_3;}
}
var n1234 = n1 + n2 + n3 + n4;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
}
- Bắt đầu vòng lặp, đoạn secript sẽ kiểm tra bài viết có nhãn Thu Thuat Blog hay ko (đây là giá trị bạn cần thay đổi), nếu bài viết có nhãn này, thì bài viết đó sẽ được hiện thị trong thẻ div có id="label1". Và nếu là bài viết đầu tiên thì sẽ với style biến advrc_0, ngoài ra thì sẽ hiển thị kiểu advrc. Cứ tiếp tục như thế, sang bài viết thứ 2 nếu bài viết ko có nhãn Thu Thuat Blog thì lập tức nó sẽ kiểm tra sang các nhãn khác như Announcement, BlOgFD, jQuery.
- Ở các kiểu hiển thị advrc, advrc_0, .., advrc_3, mình dùng các thẻ <li> để tạo giao diện cho các tiện ích. Các bạn có thể thay đổi giá trị của các biến này để tạo ra các giao diện khác nhau cho mỗi tiện ích.
- Ví dụ như :
advrc ='<li> ... Mã HTML để tạo giao diện cho mỗi bài viết ở mỗi tiện ích ... </li>
- Ở đoạn javascript trên chỉ có 1 label2 (Announcement) là các bài viết trong tiện ích có chung 1 kiểu hiển thị, ngoài ra 3 label còn lại thì được hiển thị theo kiểu nổi bật bài đầu tiên.- Ở code mẫu trên là chỉ sử dụng cho việc hiển thị 4 tiện ích, nếu muốn hiển thị thêm nhiều tiện ích nữa thì các bạn thêm mã tương tự như đoạn code highlight như bên dưới :
if ((condlabel.match("Thu Thuat Blog"))&&(n1<adv_num1)) {
n1=n1+1;
if (n1==1) {document.getElementById('label1').innerHTML += advrc_0;}
else {document.getElementById('label1').innerHTML += advrc;}
}
else if ((condlabel.match("Announcement"))&&(n2<adv_num2)) {
n2=n2+1;
document.getElementById('label2').innerHTML += advrc;
}
else if ((condlabel.match("BlOgFD"))&&(n3<adv_num3)) {
n3=n3+1;
if (n3==1) {document.getElementById('label3').innerHTML += advrc_1;}
else {document.getElementById('label3').innerHTML += advrc_2;}
}
else if ((condlabel.match("jQuery"))&&(n4<adv_num4)) {
n4=n4+1;
if (n4==1) {document.getElementById('label4').innerHTML += advrc_01;}
else {document.getElementById('label4').innerHTML += advrc_3;}
}
else if ((condlabel.match("Nhãn thứ 5"))&&(n5<adv_num5)) {
n5=n5+1;
if (n5==1) {document.getElementById('label5').innerHTML += advrc_01;}
else {document.getElementById('label5').innerHTML += advrc_3;}
}
var n1234 = n1 + n2 + n3 + n4 + n5;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4 + adv_num5;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
}
- Và tất nhiên phải điều chỉnh thêm ở phần đầu của code javascript như bên dưới:n1=n1+1;
if (n1==1) {document.getElementById('label1').innerHTML += advrc_0;}
else {document.getElementById('label1').innerHTML += advrc;}
}
else if ((condlabel.match("Announcement"))&&(n2<adv_num2)) {
n2=n2+1;
document.getElementById('label2').innerHTML += advrc;
}
else if ((condlabel.match("BlOgFD"))&&(n3<adv_num3)) {
n3=n3+1;
if (n3==1) {document.getElementById('label3').innerHTML += advrc_1;}
else {document.getElementById('label3').innerHTML += advrc_2;}
}
else if ((condlabel.match("jQuery"))&&(n4<adv_num4)) {
n4=n4+1;
if (n4==1) {document.getElementById('label4').innerHTML += advrc_01;}
else {document.getElementById('label4').innerHTML += advrc_3;}
}
else if ((condlabel.match("Nhãn thứ 5"))&&(n5<adv_num5)) {
n5=n5+1;
if (n5==1) {document.getElementById('label5').innerHTML += advrc_01;}
else {document.getElementById('label5').innerHTML += advrc_3;}
}
var n1234 = n1 + n2 + n3 + n4 + n5;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4 + adv_num5;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
}
function showadvrp(json) {
img = new Array();
var n1 = 0;
var n2 = 0;
var n3 = 0;
var n4 = 0;
var n5 = 0;
img = new Array();
var n1 = 0;
var n2 = 0;
var n3 = 0;
var n4 = 0;
var n5 = 0;
- Như vậy cơ bản đã hoàn thành, bây giờ là phần cuối cùng. Ở phần cuối cùng này sẽ là phần truy xuất link feed. Để thủ thuật chạy được, phần cuối cùng này phải đặt sau cùng. Tức là phải đặt sau các thẻ div có id : label1, label2,... label5. Tốt nhất là đặt nó ở dưới cùng trong phần nội dung của tiện ích HTML/javascript chứa thẻ div cuối cùng, ví dụ như thẻ div có id="label5" chẳng hạn. Và đây là đoan code sau cùng :
<script type="text/javascript">
numposts = 100;
adv_num1 = 4;
adv_num2 = 5;
adv_num3 = 4;
adv_num4 = 6;
adv_num5 = 6; // chèn thêm nếu có 5 tiện ích
</script>
<script src="http://Yourblogname.blogspot.com/feeds/posts/default?&max-results=100&orderby=published&alt=json-in-script&callback=showadvrp"></script>
- Giá trị max-results phải lớn hơn hoặc bằng giá trị numposts. Tùy theo số bài hiển thị mà bạn thay đổi 2 giá trị này cho hợp lý và cho bài viết được hiển thị đủ như mình muốn.numposts = 100;
adv_num1 = 4;
adv_num2 = 5;
adv_num3 = 4;
adv_num4 = 6;
adv_num5 = 6; // chèn thêm nếu có 5 tiện ích
</script>
<script src="http://Yourblogname.blogspot.com/feeds/posts/default?&max-results=100&orderby=published&alt=json-in-script&callback=showadvrp"></script>
- Như ở bài giới thiệu trước, mình có nói tới việc nếu tỉ lệ xuất bản bài viết ở mỗi nhãn đều nhau thì tiện ích sẽ load nhanh hơn. Lấy ví dụ như, ở demo mình thực hiện trên blog của mình, do blog mình xuất bản chủ yếu là bài viết về thủ thuật blog, nên vì thế mà trong tiện ích yêu cầu hiển thị 19 bài viết, nhưng lặp đủ 100 lần mà vẫn chỉ được 18 bài, tức là vẫn còn thiếu 1 bài. Như hình minh họa bên dưới :
- Tuy nhiên nếu các bạn xuất bản đều đặn ở mỗi nhãn thì cho dù bạn set vòng lặp là 100 hay 200 thì khi đã lấy đủ bài viết thì vòng lặp sẽ dừng lại. Và đây là đoạn mã đó :
var n1234 = n1 + n2 + n3 + n4 + n5;
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4 + adv_num5;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
var ncond = adv_num1 + adv_num2 + adv_num3 + adv_num4 + adv_num5;
if (n1234==ncond) {break;} else if (i == json.feed.entry.length) {break;}
biến n1234 là số bài viết mà lấy được qua các lần lặp (thay đổi), còn biến ncond (cố dịnh) là tổng số bài mà bạn chọn hiển thị ở tất cả các tiện ích. Như đã set ở trên. Nếu đã lặp đủ, tức là giá trị của 2 biến n1234, ncond bằng nhau thì vòng lặp dừng lại.
Như vậy đã xong bài hướng dẫn. Mình chỉ có thể hướng dẫn sơ qua như vậy thôi, nếu có thắc mắc hoặc bài mình post có sai sót gì, các bạn comment bên dưới mình sẽ trả lời sau.
Sách Đắc nhân tâm
01:36 |Đắc nhân tâm, tên tiếng Anh là How to Win Friends and Influence People là một quyển sách tự giúp bản thân bán chạy nhất từ trước đến nay.
Quyển sách này do Dale Carnegie viết và đã được xuất bản lần đầu vào năm 1936, nó đã được bán 50 triệu bản trên khắp thế giới. Nó cũng là quyển sách bán chạy nhất của New York Times trong 10 năm. Quyển sách đưa ra các lời khuyên về cách thức cư xử, ứng xử và giao tiếp với mọi người để đạt được thành công trong cuộc sống.
Tóm tắt nội dung (theo dịch giả Nguyễn Hiến Lê) - [vi.wikipedia.org]
Phần I: Những thuật căn bản để dẫn đạo người
Chương 1: Muốn lấy mật đừng phá tổ ong
Chương 2:Một bí quyết quan trọng trong phép xử thế
Chương 3:Hãy khêu gợi ở người cái ý tự muốn làm công việc mà chính ta đề nghị với họ
Chương 4:Tám lời khuyên để giúp các bạn đọc sách này được nhiều lợi ích nhất
Phần II:Sáu cách gây thiện cảm
Chương 1:Để cho tới đâu cũng được tiếp đón niềm nở
Chương 2:Một cách dễ dàng để gây mỹ cảm lúc sơ kiến
chương 3:Không theo quy tắc sau này tức là tự rước lấy thất bại
Chương 4:Bạn muốn thành một người nói chuyện có duyên không? Dễ lắm
Chương 5:Làm sao để gây thiện cảm
Chương 6:Làm sao cho người ta ưa mình liền
Phần III:Mười hai cách dẫn - dụ người khác cho họ nghĩ như mình
Chương 1:Trong một cuộc tranh biện không có người thắng kẻ bại
Chương 2:Một cách chắn chắn để gây thù oán. Tránh nó cách nào?
Chương 3:Quá tắc quy cung
Chương 4:Do trái tim sẽ thắng được lý trí
Chương 5:Bí quyết của Socrate
Chương 6:Xả hơi
Chương 7:Thiện bất chuyên mỹ
Chương 8:Quy tắc này sẽ giúp bạn làm được những việc dị thường
Chương 9:Loài người muốn gì?
Chương 10:Gợi những tình cảm cao thượng
Chương 11:Kích thích thị giác và óc tưởng tượng của người
Chương 12:Khi mọi cách đều vô hiệu bạn hãy thử cách này xem sao
Phần IV: Sửa tính người mà không làm cho họ phật ý.
Chương 1:Nếu bạn bắt buộc phải chỉ trích, thì xin bạn bắt đầu như sau này
Chương 2: Chỉ trích cách nào mà khỏi gây thù oán?
Chương 3: Hãy tự cáo lỗi trước đã.
Chương 4: Đừng ra lệnh.
Chương 5: Giữ thể diện cho Người.
Chương 6:Khích lệ người ta cách nào?
Chương 7: Vị tri kỷ giả, dụng.
Chương 8: Hãy khuyến khích Người.
Chương 9: Làm sao cho người ta vui sướng mà làm công việc Bạn nhờ cậy.
Phần V: Chương độc nhất: Những bức thư mầu nhiệm
Phần VI: Bảy lời khuyên để tăng hạnh phúc trong Gia đình.
Chương 1: Chôn sống hạnh phúc gia đình cách nào lẹ nhất?
Chương 2: Tùy Ngộ Nhi An.
Chương 3: Thương nhau chín bỏ làm mười.
Chương 4: Làm cho Người ở xung quanh mình được sung sướng là điều dễ dàng.
Chương 5: Cái gì làm cảm động một người Đàn bà.
Chương 6: Phu phụ tương kính như tân.
Chương 7: Những kẻ thất học trong hôn nhân.
Download tại đây
Quyển sách này do Dale Carnegie viết và đã được xuất bản lần đầu vào năm 1936, nó đã được bán 50 triệu bản trên khắp thế giới. Nó cũng là quyển sách bán chạy nhất của New York Times trong 10 năm. Quyển sách đưa ra các lời khuyên về cách thức cư xử, ứng xử và giao tiếp với mọi người để đạt được thành công trong cuộc sống.
Tóm tắt nội dung (theo dịch giả Nguyễn Hiến Lê) - [vi.wikipedia.org]
Phần I: Những thuật căn bản để dẫn đạo người
Chương 1: Muốn lấy mật đừng phá tổ ong
Chương 2:Một bí quyết quan trọng trong phép xử thế
Chương 3:Hãy khêu gợi ở người cái ý tự muốn làm công việc mà chính ta đề nghị với họ
Chương 4:Tám lời khuyên để giúp các bạn đọc sách này được nhiều lợi ích nhất
Phần II:Sáu cách gây thiện cảm
Chương 1:Để cho tới đâu cũng được tiếp đón niềm nở
Chương 2:Một cách dễ dàng để gây mỹ cảm lúc sơ kiến
chương 3:Không theo quy tắc sau này tức là tự rước lấy thất bại
Chương 4:Bạn muốn thành một người nói chuyện có duyên không? Dễ lắm
Chương 5:Làm sao để gây thiện cảm
Chương 6:Làm sao cho người ta ưa mình liền
Phần III:Mười hai cách dẫn - dụ người khác cho họ nghĩ như mình
Chương 1:Trong một cuộc tranh biện không có người thắng kẻ bại
Chương 2:Một cách chắn chắn để gây thù oán. Tránh nó cách nào?
Chương 3:Quá tắc quy cung
Chương 4:Do trái tim sẽ thắng được lý trí
Chương 5:Bí quyết của Socrate
Chương 6:Xả hơi
Chương 7:Thiện bất chuyên mỹ
Chương 8:Quy tắc này sẽ giúp bạn làm được những việc dị thường
Chương 9:Loài người muốn gì?
Chương 10:Gợi những tình cảm cao thượng
Chương 11:Kích thích thị giác và óc tưởng tượng của người
Chương 12:Khi mọi cách đều vô hiệu bạn hãy thử cách này xem sao
Phần IV: Sửa tính người mà không làm cho họ phật ý.
Chương 1:Nếu bạn bắt buộc phải chỉ trích, thì xin bạn bắt đầu như sau này
Chương 2: Chỉ trích cách nào mà khỏi gây thù oán?
Chương 3: Hãy tự cáo lỗi trước đã.
Chương 4: Đừng ra lệnh.
Chương 5: Giữ thể diện cho Người.
Chương 6:Khích lệ người ta cách nào?
Chương 7: Vị tri kỷ giả, dụng.
Chương 8: Hãy khuyến khích Người.
Chương 9: Làm sao cho người ta vui sướng mà làm công việc Bạn nhờ cậy.
Phần V: Chương độc nhất: Những bức thư mầu nhiệm
Phần VI: Bảy lời khuyên để tăng hạnh phúc trong Gia đình.
Chương 1: Chôn sống hạnh phúc gia đình cách nào lẹ nhất?
Chương 2: Tùy Ngộ Nhi An.
Chương 3: Thương nhau chín bỏ làm mười.
Chương 4: Làm cho Người ở xung quanh mình được sung sướng là điều dễ dàng.
Chương 5: Cái gì làm cảm động một người Đàn bà.
Chương 6: Phu phụ tương kính như tân.
Chương 7: Những kẻ thất học trong hôn nhân.
Download tại đây
999 bài thuốc ngâm rượu
00:01 | Minh cung cấp cho các bạn 999 bài thuốc ngâm rượu gồm:
Chương 1. Khái thuật
Chương 2. Rượu thuốc chữa các bệnh nội khoa
Chương 3. Rượu thuốc chữa bệnh nhi khoa
Chương 4. Rượu thuốc chữa bệnh phụ khoa
Chương 5. Rượu thuốc chữa các bệnh ngoại khoa
Chương 6. Rượu thuốc chữa trị các bệnh tật thuộc ngũ quan
Chương 7. Rượu thuốc với mỹ dung, dưỡng sinh
Chương 2. Rượu thuốc chữa các bệnh nội khoa
Chương 3. Rượu thuốc chữa bệnh nhi khoa
Chương 4. Rượu thuốc chữa bệnh phụ khoa
Chương 5. Rượu thuốc chữa các bệnh ngoại khoa
Chương 6. Rượu thuốc chữa trị các bệnh tật thuộc ngũ quan
Chương 7. Rượu thuốc với mỹ dung, dưỡng sinh