仅显示最新推文并添加指向JSON Array / Twitter Stream代码结果的链接

时间:2012-04-07 06:20:34

标签: jquery json twitter stream

我正在使用此代码从客户端连接到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版本,以便链接显示出来。任何帮助做这些事情都会超级棒!感谢

2 个答案:

答案 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