Отображение потока Twitter на веб-странице? - PullRequest
1 голос
/ 04 октября 2009

Я хочу отобразить на своем веб-сайте ленту пользователя в Твиттере. Какой самый простой способ сделать это? Я думаю, Javascript. Я хочу, чтобы последние 5 твитов были загружены, а затем, когда будет создан другой твит, чтобы они автоматически появлялись в верхней части твитов. Он должен охватывать почти весь сайт, кроме верхнего и нижнего колонтитула. Любые предложения / код для этого?

Ура, помогите с благодарностью!

Ответы [ 4 ]

4 голосов
/ 04 октября 2009

Загрузка новых данных без обновления должна быть AJAX. Чтобы получить данные, ses API Twitter http://apiwiki.twitter.com/. API позволит вам получать данные в выбранном формате (xml, json, ect ...), который затем можно будет проанализировать и вернуть либо данные, либо HTML-код страницы, отправившей вызов AJAX. Это должно дать вам толчок в правильном направлении.

2 голосов
/ 04 октября 2009

Простейшим способом было бы добавить виджет Twitter: http://twitter.com/goodies/widget_profile, и он автоматически обновляет новые твиты (я думаю, с использованием AJAX). Вы также можете установить размеры.

0 голосов
/ 29 января 2013

используйте jQuery, сри за мой язык программирования, но мне нравится наш чешский язык

  <script type="text/javascript">
   jQuery(document).ready(function($){
    $.getJSON('http://api.twitter.com/1/statuses/user_timeline/##USERNAME##.json?count=2&callback=?', function(zpravicky){
     $("#twitter").html(formatujExtSocialniProfil(zpravicky));
      });
        });
   </script>

во внешнем коде файла javascript, как этот

   function formatujExtSocialniProfil(twitters) {
      var statusHTML = [];
      for (var i=0; i<twitters.length; i++){
        var username = twitters[i].user.screen_name;
        var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
          return '<a href="'+url+'">'+url+'</a>';
        }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
          return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
        });
        statusHTML.push('<li><span>'+status+'</span> <br/><b><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">'+relative_time(twitters[i].created_at)+'</a></b></li>');
      }
      return statusHTML.join('');
    }

    function relative_time(time_value) {
      var values = time_value.split(" ");
      time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
      var parsed_date = Date.parse(time_value);
      var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
      var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
      delta = delta + (relative_to.getTimezoneOffset() * 60);

      if (delta < 60) {
        return 'seconds ago';
      } else if(delta < 120) {
        return 'minute ago';
      } else if(delta < (60*60)) {
        return (parseInt(delta / 60)).toString() + ' minutes';
      } else if(delta < (120*60)) {
        return 'hours ago';
      } else if(delta < (24*60*60)) {
        return 'ago ' + (parseInt(delta / 3600)).toString() + ' hours';
      } else if(delta < (48*60*60)) {
        return 'yesterday';
      } else {
        return 'since ago' + (parseInt(delta / 86400)).toString() + ' days';
      }
    }
0 голосов
/ 12 октября 2009

используйте любой калькулятор Twitter-обертки, например, этот http://emmense.com/php-twitter/, чтобы получить статус и отобразить его. чем использовать функцию времени javascript внутри функции, сделать ajax-вызов php-скрипта и добавить последний твит поверх вашего контейнера.

Вы можете использовать JQuery для обновления DOM

$ ('# dividhere'). Prepend ('

Bla bla bla');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...