我正在使用此代码从客户端连接到Twitter Stream(我需要坚持使用此方法,请不要提供替代方法) - 我试图了解如何限制结果只显示一条推文(最新的一个)。现在它显示了结果中的所有推文。我编辑了标签&如果有人想帮助我,搜索网址中的用户名只需插入您自己的用户名。这是代码:
<div id="tweet_stream">
Loading #Apple tweets...
</div>
<script type="text/javascript">
jQuery(function(){
// Execute this code when the page is ready to work
// Create a Script Tag
var script=document.createElement('script');
script.type='text/javascript';
script.src= "http://search.twitter.com/search.json? q=%23HASHTAGHERE+from:USERNAMEHEREr&callback=processTheseTweets&_="+ new Date().getTime();
// Add the Script to the Body element, which will in turn load the script and run it.
$("body").append(script);
});
function processTheseTweets(jsonData){
var shtml = '';
var results = jsonData.results;
if(results){
// if there are results (it should be an array), loop through it with a jQuery function
$.each(results, function(index,value){
shtml += "<p class='title'><span class='author'>" + value.from_user + "</span>: " +
value.text + "<span class='date'>" + value.created_at + "</span></p>";
});
// Load the HTML in the #tweet_stream div
$("#tweet_stream").html( shtml );
}
}
</script>
我也试图获得最终结果来显示推文的HTML版本,以便链接显示出来。任何帮助做这些事情都会超级棒!感谢
答案 0 :(得分:0)
您正在$ .each()中创建结果数组的每个元素的html,并将其附加到shtml变量中。而不是迭代结果,只需找出最新推文的索引。它可能是第一个元素(索引0),最后一个元素(索引results.length-1),或者其他一些基于您的逻辑。
var index = 0; //suppose its first element.
var value = results[index];
shtml = "<p class='title'><span class='author'>" + value.from_user + "</span>: " + value.text + "<span class='date'>" + value.created_at + "</span></p>";
$("#tweet_stream").html( shtml );
现在你有推文的html版本。如果要显示,请使用text()而不是html()。
$("#tweet_stream").text( shtml );
答案 1 :(得分:0)
而不是提取所有推文并显示1条推文为什么不限制api只提供1条推文?
将网址更改为
script.src= "http://search.twitter.com/search.json?q=%23HASHTAGHERE+from:USERNAMEHEREr&callback=processTheseTweets&rpp=1&_="+ new Date().getTime();
即。将rpp(每页结果)设置为1