私が作成したこのスニペットを見てください。いくつかのアイデアが得られると思います。
http://jsfiddle.net/TgTtV/
lastDate = false;
setInterval(function() {
function compareDates (argument) {
return (new Date(argument.created_at) > lastDate);
}
jQuery.ajax({
url: 'http://search.twitter.com/search.json',
type: 'GET',
dataType: 'jsonp',
data: {q: encodeURIComponent('#test')},
success: function(data, textStatus, xhr) {
//If it's the first time running, prepend all tweets to the page
if(!lastDate) {
for(i in data.results) {
$('body').prepend('<p>'+data.results[i].from_user+': '+data.results[i].text+'</p>');
}
} else { //Only new tweets, filtered by date are added
var newMessages = data.results.filter(compareDates);
//Just for test
console.log(newMessages);
for(i in newMessages) {
$('body').prepend('<p>'+newMessages[i].from_user+': '+newMessages[i].text+'</p>');
}
}
lastDate = new Date(data.results[0].created_at);
}
});
}, 10000);
説明: スニペットは最初にクエリ (この場合はハッシュタグ #test) から一連のツイートを読み込み、ユーザー名とツイートの内容を段落内に配置します。最初の読み込みの後、ツイートの読み込みを続けますが、compareDates 関数を使用して日付でフィルタリングし、新しいツイートのみをページに表示します。理解を深めるために、Firebug のコンソールを開いてこのスニペットをテストすることをお勧めします。