Don't like ads? PRO users don't see any ads ;-)
Guest

ajax+twitter

By: a guest on Jun 14th, 2012  |  syntax: JavaScript  |  size: 1.74 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. //Twitter
  2. window.onload = function() {
  3.      var ajax_load = "<img class='loader' src='images/loader.gif' alt='Loading...' />";
  4.      var url = 'http://twitter.com/statuses/user_timeline/username.json?callback=twitterCallback2&amp;count=4';
  5.      var script = document.createElement('script');
  6.      $("#twitter_feed").html(ajax_load);
  7.      script.setAttribute('src', url);
  8.      document.body.appendChild(script);
  9. }
  10.  
  11. function twitterCallback2(twitters) {
  12.   var statusHTML = [];
  13.   for (var i=0; i<twitters.length; i++){
  14.     var username = twitters[i].user.screen_name;
  15.     var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,
  16.      function(url) { return '<a href="'+url+'">'+url+'</a>';
  17.     }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
  18.       return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
  19.     });
  20.     statusHTML.push('<li class="twitter_date"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li> <li><p>'+status+'</p></li>');
  21.   }
  22.   document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
  23. }
  24.  
  25. function relative_time(time_value) {
  26.   var values = time_value.split(" ");
  27.   time_value = values[1] + " " + values[2] + " " + values[5] + " " + values[3];
  28.   var parsed_date = new Date();
  29.   parsed_date.setTime(Date.parse(time_value));
  30.   var months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',
  31.      'Sep', 'Oct', 'Nov', 'Dec');
  32.   var m = parsed_date.getMonth();
  33.   var postedAt = '';
  34.   postedAt = months[m];
  35.   postedAt += " "+ parsed_date.getDate();
  36.   postedAt += ","
  37.   postedAt += " "+ parsed_date.getFullYear();
  38.   return postedAt;
  39. }