ဒီနေ့တော့ အလုပ်တော်တော်သက်သာသွားတယ်။ RSS read ဖို့အတွက် PHP နဲ့လည်း ရေးလို့မရ။ ရေးလို့မရဆို javascript က လာတာကို။ အဲဒီ အတွက် GET request နဲ့ လည်း မပို့ချင်။ အဲဒါနဲ့ YQL ကို သွားသတိရတယ်။ အရင်တုန်းက တစ်ခေါက် စမ်းဖူးတယ်။ ဒီ sites မှာ တွေ့ပြီး စမ်းဖူးတာလေးကို သွားသတိရလို့။ တော်တော်အဆင်ပြေသွားတာပဲ။

သူရဲ့ code ကို နည်းနည်းလေး ပြန်ပြင်လိုက်တယ်။ RSS ပဲလိုတာ ဆိုတော့ buzz နဲ့twitter ကို ဖျက်။ ပြီးတော့ json ကိုလည်း မသုံးပဲ rss feed တိုက်ရိုက် ပေးတဲ့ ပုံစံလေး သုံးလိုက်တယ်။ YQL က JSON ကို read လို့လည်း ရတယ်။ YQL နဲ့ api တော်တော်များများကို လှမ်းခေါ်သုံးလို့ရတယ်။ jquery ajax က cross domain အလုပ်မလုပ်ဘူးလေ။ အဲလို အခါတွေမှာလည်း YQL ကို သုံး၇တာပဲ။ jquery နဲ့ api တွေကို လှမ်းသုံးလို့မရဘူး။ YQL က တဆင့် သုံးမှ အဆင်ပြေတယ်ဗျ။

[lang name=”javascript”]function showTab(feed)
{
var stage = $(‘#rss_data’);
/* Forming the query: */
var query = “select * from feed where url=’”+feed+”‘ LIMIT 5”;
/* Forming the URL to YQL: */
var url = “http://query.yahooapis.com/v1/public/yql?q=”+encodeURIComponent(query)+”&format=json&callback=?”;
$.getJSON(url,function(data){
stage.empty();
/* item exists in RSS and entry in ATOM feeds: */
$.each(data.query.results.item || data.query.results.entry,function(){
try{
/* Trying to call the user provided function, “this” the rest of the feed data: */
stage.append(rss(this));
}
catch(e){
/* Notifying users if there are any problems with their handler functions: */
var f_name =rss.toString().match(/function\s+(\w+)\(/i);
if(f_name) f_name = f_name[1];
stage.append(‘<div>There is a problem with your ‘+f_name+ ‘ function</div>’);
return false;
}
})
});
//$(‘#activeTab’).text(key);
}
function rss(item)
{
return $(‘<div>’).html(
formatString(item.title.content || item.title)+
‘ <a href=”‘+(item.origLink || item.link[0].href || item.link)+’” target=”_blank”>[read]</a>’
);
}
function formatString(str)
{
/* This function was taken from our Twitter Ticker tutorial – http://tutorialzine.com/2009/10/jquery-twitter-ticker/ */
str = str.replace(/<[^>]+>/ig,”);
str=’ ‘+str;
str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href=”$1″ target=”_blank”>$1</a>’);
str = str.replace(/([^\w])\@([\w\-]+)/gm,’$1@<a href=”http://twitter.com/$2″ target=”_blank”>$2</a>’);
str = str.replace(/([^\w])\#([\w\-]+)/gm,’$1<a href=”http://twitter.com/search?q=%23$2″ target=”_blank”>#$2</a>’);
return str;
}[/lang]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.