Đây là công cụ đặc biệt, có lẽ rất được nhiều người mong đợi. Công cụ này được mình phát triển khi rip blog. Đôi khi bạn thấy các site của pro (HelloXimo) rip chạy rất nhanh và mượt. Tại sao vậy ? Câu hỏi nằm ở function showrecentposts(json) của js mà nhiều blog vẫn đang dùng. Đây là một hàm lọc feed (hay file .xml) của Blogger. Việc sử dụng feed sẽ đem lại tốc độ cao hơn so với dùng biến có sẵn mà mình đã giới thiệu ở một số bài viết trước.
(ViewSource Demo để xem code)
Nhưng đặc điểm bất tiện của hàm này là với mỗi lần callback showrecentposts trong đoạn script ví dụ sau.
Ta lại phải đổi tên hàm callback để lấy feed cho một tag mới. Nói khác đi, chúng ta lại phải copy y sì một hàm showrecentposts2, showrecentpost3, showrecentposts4 ...v.vv cho các tag mới.
Vậy, ANCData là gì ? Chắc bạn cũng đoán ra từ VD trên. Nó là một plugin load feed. Nhưng nó chỉ là một hàm callback duy nhất : ancdata. Có vẻ với những ai chưa nghe về load feed sẽ rất khó mường tượng. Nhưng bạn chỉ cần sử dụng ANCData sẽ không cần phải vọc nhiều.
* Thuộc tính.
title : tiêu đề bài viết.
url : link bài viết.
label: nhãn bài viết.
img: ảnh bài viết
- img.f : file ảnh đầu tiên của bài viết kich thươc full khổ.
- img.i72: file ảnh mặc định của google nếu bạn up lên, hoặc sử dụng các sản phẩm ảnh của google.
content: nội dung toàn bộ bài viết.
snippet : nội dung tóm tắt gồm 120 ký tự.
date: ngày tháng năm gửi bài
- date.d : ngày
- date.m : tháng
- date.y : năm
author: tác giả gửi bài viết.
* Sử dụng :
B1: Bạn chỉ cần chèn đoạn mã sau vào sau thẻ <head> hoặc sau <body>
B2: Giờ bạn sẽ sử dụng ANCData một cách dễ dàng.
Giả sử mình muốn tạo ra một module có cấu trúc như hình sau.
Mình chỉ cần viết như sau :
Version 1 chưa áp dụng cho comment. Sẽ tiếp tục phát triển trong các phiên bản sau nếu có thời gian.
Note: Để gọi các biến trong thuộc tính, bạn cần thêm trước anc.thuoctinh
Muốn lấy một tag trong list tag bạn chỉ cần viết. anc.label.split(',')[vitri tag can lay]
Chúc các bạn thành công !
(ViewSource Demo để xem code)
Nhưng đặc điểm bất tiện của hàm này là với mỗi lần callback showrecentposts trong đoạn script ví dụ sau.
<script src="http://www.maphim.net/feeds/posts/default/-/Phim chiếu rạp?max-results=4&orderby=published&alt=json-in-script&callback=showrecentposts ">
</script>
</script>
Ta lại phải đổi tên hàm callback để lấy feed cho một tag mới. Nói khác đi, chúng ta lại phải copy y sì một hàm showrecentposts2, showrecentpost3, showrecentposts4 ...v.vv cho các tag mới.
Vậy, ANCData là gì ? Chắc bạn cũng đoán ra từ VD trên. Nó là một plugin load feed. Nhưng nó chỉ là một hàm callback duy nhất : ancdata. Có vẻ với những ai chưa nghe về load feed sẽ rất khó mường tượng. Nhưng bạn chỉ cần sử dụng ANCData sẽ không cần phải vọc nhiều.
* Thuộc tính.
title : tiêu đề bài viết.
url : link bài viết.
label: nhãn bài viết.
img: ảnh bài viết
- img.f : file ảnh đầu tiên của bài viết kich thươc full khổ.
- img.i72: file ảnh mặc định của google nếu bạn up lên, hoặc sử dụng các sản phẩm ảnh của google.
content: nội dung toàn bộ bài viết.
snippet : nội dung tóm tắt gồm 120 ký tự.
date: ngày tháng năm gửi bài
- date.d : ngày
- date.m : tháng
- date.y : năm
author: tác giả gửi bài viết.
* Sử dụng :
B1: Bạn chỉ cần chèn đoạn mã sau vào sau thẻ <head> hoặc sau <body>
<script src="http://anhnc.googlecode.com/svn/trunk/ANC/data/feed.js"></script> <script>
anc.home ="domain của bạn"; // (mặc định là maphim.net)
anc.post = sô lượng tối đa ; // (mặc định là 100)
anc.img.no = "ảnh hiển thị khi bài viết không có ảnh"; // mặc định là ảnh của maphim.net
</script>
anc.home ="domain của bạn"; // (mặc định là maphim.net)
anc.post = sô lượng tối đa ; // (mặc định là 100)
anc.img.no = "ảnh hiển thị khi bài viết không có ảnh"; // mặc định là ảnh của maphim.net
</script>
B2: Giờ bạn sẽ sử dụng ANCData một cách dễ dàng.
Giả sử mình muốn tạo ra một module có cấu trúc như hình sau.
Mình chỉ cần viết như sau :
<div class="box">
<h3>Phim hành động mới</h3>
<div class="bcontent">
<script src="http://www.maphim.net/feeds/posts/default/-/Hành động?max-results=4&orderby=published&alt=json-in-script&callback=ancdata">
</script>
<script>
for (var i =0; i< anc.max; i++){
document.write('<li><a href='+anc.url[i]+'>'+anc.title[i]+'</a></li>');
}
</script>
</div>
</div>
Không chỉ dừng ở đó, bạn có thể tạo nhiều tag giống nhau ngoài tag Hành động kể trên, chỉ với một hàm callback duy nhất. Đây chỉ là VD đơn giản sử dụng ANCData, bạn có thể tạo riêng cho mình các modum hợp lý từ các thuộc tính mình đã đưa.<h3>Phim hành động mới</h3>
<div class="bcontent">
<script src="http://www.maphim.net/feeds/posts/default/-/Hành động?max-results=4&orderby=published&alt=json-in-script&callback=ancdata">
</script>
<script>
for (var i =0; i< anc.max; i++){
document.write('<li><a href='+anc.url[i]+'>'+anc.title[i]+'</a></li>');
}
</script>
</div>
</div>
Version 1 chưa áp dụng cho comment. Sẽ tiếp tục phát triển trong các phiên bản sau nếu có thời gian.
Note: Để gọi các biến trong thuộc tính, bạn cần thêm trước anc.thuoctinh
Muốn lấy một tag trong list tag bạn chỉ cần viết. anc.label.split(',')[vitri tag can lay]
Chúc các bạn thành công !