2012-05-13 78 views
0

我正在尋找一個小部件/ jquery插件/託管服務或類似的,你可以放在一個html頁面,它會顯示和更新包含某個哈希標籤,但只有從一個或多個可配置的帳戶+審覈,以批准其他人使用相同標籤的推文。微博微件生活推文

認爲報紙想生活 - 推特活動,但能夠控制其他人在網頁上顯示的內容。

我已經搜索過,但沒有找到任何合適的東西 - 我相信它一定存在。

回答

1

你好演示http://jsfiddle.net/RGrgM/http://jsfiddle.net/RGrgM/show/

我有聯繫的人(我)的鳴叫與此演示,但你可以鏈接你的:)我懶在Twitter上anyhooo:P這將幫助你。它將與活飼料一起使用。

休息一切都在那裏,你可以右鍵點擊,看到源代碼以及閱讀下面的代碼。 B-)

此[鏈接]可能出現派上用場:http://boxmodeljunkie.com/create-a-simple-twitter-widget-with-yui-3-and-yql/

:)

D'呃不要忘了接受和最多投票是嗎!

它使用:

<title>Twitter Feed Widget with YUI 3 &amp; YQL - jsFiddle demo</title> 

    <script type='text/javascript' src='/js/lib/yui-min-3.2.0.js'></script> 

jQuery代碼

// top-level global namespace 
YUI.namespace('CIF'); 

// accepts a tweet timestamp and produces relational time text 
YUI.CIF.relativeTime = function (c) { 

    var origStamp = Date.parse(c), 

     curDate = new Date(), 

     currentStamp = curDate.getTime(), 

     difference = parseInt((currentStamp - origStamp)/1000, 10), 

     dateArr = c.toString().split(' '); 

    // if no difference, do nothing 
    if (difference < 0) { 
     return false; 
    } 

    if (difference <= 5) { 
     return "Just now"; 
    } 

    if (difference <= 20) { 
     return "Seconds ago"; 
    } 

    if (difference <= 60) { 
     return "A minute ago"; 
    } 

    if (difference < 3600) { 
     return parseInt(difference/60, 10) + ' minutes ago'; 
    } 

    if (difference <= 1.5 * 3600) { 
     return "One hour ago"; 
    } 

    if (difference < 23.5 * 3600) { 
     return Math.round(difference/3600) + ' hours ago'; 
    } 

    if (difference < 1.5*24*3600) { 
     return "One day ago"; 
    } 

    // produce date stamp for tweets older than a day 
    return dateArr[3].replace(/\:\d+$/,'') + ' ' + dateArr[2] + ' ' + dateArr[1] + dateArr[5] !== curDate.getFullYear().toString() ? ' ' + dateArr[5] : ''; 

}; 

// load required modules and set up YUI instance 
YUI().use('node', 'substitute', 'yql', function (Y) { 

    var n = Y.one('#twitterFeed'), 

     // accepts a YQL JSON result object and produces a list of 
     // tweets using Y.substitute for templating 
     formatTwitterFeed = function (r) { 

      if (r) { 

       var s = r.query.results.statuses.status, 

        // HTML markup template 
        t = '<li><span class="status-text">{sText}</span> <span ' + 
         'class="quiet status-time">{sTime}</span></li>', 

        l = s.length, 

        f = '<ul>', 

        i; 

       for (i = 0; i < l; i++) { 

        // Y.substitute method to merge HTML markup and result object 
        f += Y.substitute(t, { 

         // convert usernames, hash tags and URLs to links 
         sText : s[i].text 
          .replace(/(http\S+)/i,'<a href="$1" target="_blank">$1</a>') 
          .replace(/(@)([a-z0-9_\-]+)/i, 
           '<a href="http://twitter.com/$2" target="_blank">$1$2</a>') 
          .replace(/(#)(\S+)/ig, 
           '<a href="http://search.twitter.com/search' + 
           '?q=%23$2" target="_blank">$1$2</a>'), 

         sTime : YUI.CIF.relativeTime(s[i].created_at) 

        }); 

       } 

       f += '</ul>'; 

       f += '<a class="button" href="http://twitter.com/tats_innit" title="Follow @Tats_innit on Twitter" target="_blank">Follow on Twitter&nbsp;&raquo;</a>'; 

       // append output to target parent node 
       n.append(f); 

      } 

     }; 

    // YQL Twitter query limited to five results for a specified username 
    Y.YQL('select * from twitter.user.timeline(5) ' + 
      'where screen_name="@tats_innit"', formatTwitterFeed); 

}); 
​