Thứ Năm, 9 tháng 2, 2012

ANCData - Plugin load feed Blogger version 1

Đâ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.



<script src="http://www.maphim.net/feeds/posts/default/-/Phim chiếu rạp?max-results=4&amp;orderby=published&amp;alt=json-in-script&amp;callback=showrecentposts ">
</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>

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&amp;orderby=published&amp;alt=json-in-script&amp;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.

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 !

Chủ Nhật, 5 tháng 2, 2012

Đưa Radio vào Blog của bạn (Yêu cầu)

Đáp ứng yêu cầu của giáo xứ phú giáo, trong nhưng ngày đầu năm này có lẽ anh Dũng cũng bận cho việc ... Va lung tung .. Không có thời gian chăm sóc blog được. Còn riêng mình cũng tung hoành khắp nơi, bận ăn, bận uống bù hết cả đầu. Đọc thấy yêu cầu này phù hợp với khả năng, giúp bạn một chút chút. ..

Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo



Style CSS :

<style>
    .radio{padding-top: 5px; border: 1px dashed #cccccc; width: 430px; position: fixed; bottom: 20px; right: 0px;}
    li{list-style:none;float:left; margin-left: 10px; padding: 5px;}
    li:hover{background-color: #494949; box-shadow: 1px 0px 3px;}
    li:active{box-shadow: 2px 1px 3px;}
   
    li.p{margin-left:30px; color: green; box-shadow: 2px 0px 3px 1px;}
    li.p:hover{background:none;}
    li.p span{text-decoration:blink;}
   
    a{text-decoration:none; color: #888888; font-size: 12px;}
    #player{margin-top:20px;}
</style>

Đài của mình..
Maphim.Net | Xem phim Online, xem phim han, phim 47, tron bo

<div class="channel">
    <li><a href="javascript:radio('vov1')">VOV1</a></li>
    <li><a href="javascript:radio('vov2')">VOV2</a></li>
    <li><a href="javascript:radio('vov3')">VOV3</a></li>
    <li><a href="javascript:radio('vov4')">VOV4</a></li>
    <li><a href="javascript:radio('vov5')">VOV5</a></li>
    <li id="pl" class="p"></li>
</div>
    <div id="player">Radio23h - Blog Radio, chia sẻ xúc cảm cuộc sống</div>
</div>

JavaScript

<script>
function radio(channel){
    var data = '<embed width="430" height="24" flashvars="&amp;file='+channel+'.flv&amp;streamer=rtmp://123.30.50.46:8080/live&amp;skin=&amp;autostart=true" allowfullscreen="true" allowscriptaccess="always" quality="high" name="mpl" id="mpl" style="undefined" src="http://player.longtailvideo.com/player5.9.swf" type="application/x-shockwave-flash">';
   
    document.getElementById("player").innerHTML = data;
    document.getElementById("pl").innerHTML = channel+" playing<span>...</span>";
    }
radio('vov3');   
</script>


radio('vov3') ==> là đài mặc định bạn chạy đầu tiên.

Chúc các bạn thành công !