0

ウィジェット/jquery プラグイン/ホステッド サービスなどを探しています。HTML ページにドロップすると、特定のハッシュタグを含むツイートをライブで表示および更新できますが、1 つ以上の構成可能なアカウント + モデレーションからのみ承認されます同じハッシュタグを持つ他の人のツイート。

イベントをライブツイートしたいが、他の人からページに表示されるものを制御したい新聞を考えてみてください。

私は検索しましたが、適切なものは見つかりませんでした-そして、それが存在するに違いないと確信しています.

4

1 に答える 1

1

Hiyaデモ http://jsfiddle.net/RGrgM/ または http://jsfiddle.net/RGrgM/show/

私は誰か (私の) ツイートをこのデモにリンクしましたが、あなたのツイートをリンクすることもできます :) ライブ フィードで動作します。

残りのすべてがそこにあり、右クリックしてソースを表示したり、以下のコードを読んだりできます。B-)

この [リンク] が便利かもしれません: http://boxmodeljunkie.com/create-a-simple-twitter-widget-with-yui-3-and-yql/

:)

ええと、同意して賛成票を投じることを忘れないでください!

それは使用しています:

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

Jクエリコード

// 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 );

});
​
于 2012-05-13T10:45:22.720 に答える