YoungYoung

twitterのシンプルなサイドバー表示

サイトトップ横、「Author's voice」の部分の表示はtwitter badgeを使ってるんですが、使っていくうちに「URLを貼り付けた際デレーっと文字列がそのまま出ちゃう」「@から始まる個人宛のレスも表示しちゃう」ってところで悩んでて、

・グラフィカルなブログパーツをつかわずシンプルにtwitterを表示したい
・URLはリンク付きの状態で短く表示したい
・@から始まる返信は表示しない

というのが出来ないか調べていたら、まさに!という感じでカスタマイズ方法が。
Twitterのつぶやき取得方法変更(RSS→JSON)
おおお感謝感謝。
あと他にも参考にしたサイトがあったんですがそっちはリンク貼っていいのかわからんかったので;
他にもネット上で悩んでる人がいるかもしれないのでカスタマイズについて書いておきます。

【2011/05/09 追記】この記事の改訂版をアップしました。
→続・twitterのシンプルなサイドバー表示

<script type="text/javascript">
	function twitterCallback(result)
	{
	var item_max = 表示件数;
	var timeline_list = new Array();
	var out = '<ul>\n';
	var cnt = 1;
	for (var i = 0; i < result.length; i++)
	{
	var text  = result[i]['text'];
	if (text.match(/^@/))
	{
	continue;
	}
	if (cnt > item_max)
	{
	break;
	}
	cnt++; 
	var created_at = result[i]['created_at'].split(" ");
	var post_date = created_at[1] + " "
	+ created_at[2] + ", "
	+ created_at[5] + " "
	+ created_at[3];
	var date = new Date(post_date);
	date.setHours(date.getHours() + 9);
	var mon  = '0' + (date.getMonth() + 1);
	mon = mon.substr(mon.length - 2);
	var day  = '0' + date.getDate();
	day = day.substr(day.length - 2);
	var out_date = mon + "/" + day; 
	url_pos  = text.indexOf("http",1);
	url_html = '[<a target="_blank" href="' + text.substr(url_pos,256) + '">URL</a>]';
	text = text.replace(/http.*/, url_html);
	text = text + ' ';
	hash_tags = text.match(/\s*\#[a-zA-Z0-9]*[\s\r]*/g);
	if (!!hash_tags)
	{
	for (var j = 0; j < hash_tags.length; j++)
	{
	hash_tag = hash_tags[j];
	hash_tag = hash_tag.replace(/^ /, "");
	hash_tag = hash_tag.replace(/[\s\n]$/, "");
	hash_tag_name = hash_tag.replace(/^#/, "");
	hash_url = '<a target="_blank" href="http://search.twitter.com/search?q=%23' + hash_tag_name + '&amp;lang=ja">' + hash_tag + '</a>';
	text = text.replace(hash_tag, hash_url);
	}
	} 
	out += '  <li>' + text + '</li>\n';
	// out += '  <li>' + text + '<span class="period"> ... ' + out_date + '</span></li>\n';
	}
	out += '</ul>\n';
	document.getElementById('twitter').innerHTML = out;
	}
</script> 
<div id="twitter"></div> 
<script type="text/javascript" src="http://www.twitter.com/statuses/user_timeline/ユーザー名.json?callback=twitterCallback"></script>
太字の部分は書き換えて下さい。 表示件数とユーザー名だけ書き換えれば動くはず(多分)。

上のは別ファイルが置けないレンタルブログなどを想定して書いてますが、
中身をtwitter.jsとか別ファイルにしてサーバーに置いて

<div id="twitter"></div>
<script type="text/javascript" src="外部JavaScriptファイルのURL"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/ユーザー名.json?callback=twitterCallback"></script>

として呼び出した方がソース的に美しいかもしれません。

はあ、これですっきり!

Comment

感動的なくらい求めていたカタチに辿り着けました。ありがとうございました。最高!

Posted by: 39ch at March 8, 2010 10:37 PM

いえいえお役に立てたようならなによりです!

Posted by: ヤンヤン at March 9, 2010 9:19 PM

はじめまして、通りすがりですがコメント失礼いたします。
Twitter用のブログパーツを探していたのですがシンプルな@非表示物がなく諦めかけていた所、こちらの記事にたどり着きました。
おかげで無事に設置が出来ました。本当にありがとうございました!

Posted by: oct_an at July 24, 2010 11:00 AM

コメントありがとうございました!
やっぱり@から始まるつぶやきの非表示はしたいですよね。
これ公式で対応して欲しいですねー;

Posted by: ヤンヤン at July 24, 2010 5:11 PM

参考にさせていただきました。
助かりました〜。
このあたりの…ていうかWEB全般の知識がゼロなものでして(;´Д`)

ブログにリンク貼らせてもらったんですが、
マズかったですか?
マズイのであれば削除するのでお知らせください。

トラックバックが上手くいかなかったんですよ。
fc2ブログ、TBがうまくいかない……わたしだけかな…

Posted by: マイコ_D_Ash at July 27, 2010 1:39 PM

リンクつきでご紹介あざーす!
YoungYoungはリンクはフリーなんでTOPページじゃなくても全然OKです。
画像直リンクとかじゃなければw

あーFC2は何故かトラックバックが上手く受信出来ないことが多々あるんですよね…。
ちょっとスパムフィルタゆるくしてみたんですがどうでしょうか?

Posted by: ヤンヤン at July 28, 2010 12:20 AM

はっ……!!いけましたトラックバック!
ありがとうございます!!つД`)・゚・。・゚゚・*:.。

Posted by: マイコ_D_Ash at July 28, 2010 1:21 PM

初めまして!リプライ非表示のウィジェットを探していた所、こちらの記事を知り、早速参考にさせて頂きました!

一つご報告があるのですが、Twitpicなどを始め、「URLの後にコメントが来るツイート」の場合、URLの後の部分が全て表示されず、設置したブログパーツ上ではURLの表示だけになってしまうようです。

こういったブログパーツのカスタマイズには詳しくないので、仕様でしたらすみません…!
一応ご連絡した方が良いのかな?と思い書き込みさせて頂きました。

それでは、失礼致します。
ずっとこういうHTML形式でリプライ非表示のプログパーツを探していたので大変参考になりました…!ありがとうございました!

Posted by: siso at November 10, 2010 3:55 PM

ああっそこにツッコミが…!
すみません気がついていたんですが解決方法がわからなかったのでそのまま放置してました;
申し訳ないです。

もし解決方法が分かれば追記します!
もし分かる方見てたらこっそり教えて下さい;

Posted by: ヤンヤン at November 11, 2010 12:29 AM

お世話になっております。
先日からブログにTwitterを表示させていたのですが、@返信が表示されて困ってました。
@返信を表示させたくないと思い検索していたところこちらに辿りつきました。
私の需要にぴったりで無事設置できました。ありがとうございます!

Posted by: himapon at April 30, 2011 3:13 AM

コメントありがとうございました!
お役に立てたら何よりです~(´∀`)

Posted by: ヤンヤン at May 2, 2011 4:12 PM

はじめまして。こちらの旧版を利用させてもらっています。
恐縮ながら1つだけ質問があるのですが、
設置するとページの読み込みが若干遅くなってしまうので、軽くしたいのです。
素人考えだと、ツイートを読み込む時間を調整出来れば軽く出来そうな気がするのですが、
宜しければ何かご教授くださいませ。

Posted by: パパンチョン at June 23, 2011 9:02 AM

こちらのはJavascriptで読み込んでるので、どうしてもそこで一旦止まってしまい、読み込みが発生して表示が遅くなるかもです。

htmlは上から順に読んでいって表示するので、回避するなら、このソースを書き込む位置を、htmlの後ろのあたりにするとかですかね…?

Posted by: ヤンヤン at June 23, 2011 10:09 PM

回答ありがとうございます。
参考にさせてもらい、別の方法をということで、
インラインフレームを使って別のページに表示させるという方法で上手くいきました。
とてもいい感じのブログパーツを作ってくださりありがとうございました。

Posted by: パパンチョン at June 24, 2011 12:15 AM

Trackback

» twitterをReply投稿抜きでサイドバーに表示

このブログのサイドバーに貼ってあるtwitterのつぶやきについて何件か 質問をいただきましたので、表示方法を紹介しますね。 以前はtwitterのオフィ...

Tracked by: Trilli Campanellino at January 8, 2010 8:57 PM

» twitterをサイドバーに表示する(@発言抜き)

twitterの自分発言(ツイート)をブログに表示するスクリプト(ブログパーツ?)設置メモ。返信(@発言)は非表示。 java script + CSS ...

Tracked by: Arun's note at May 22, 2010 10:20 AM

» 【自分用メモ】Twitter ブログパーツ

自分用備忘録です。すいません。 すーぐ忘れちゃうので。 Twitter活用術ページ Twitter / あなたのサイトにウィジットを貼りまし...

Tracked by: L'ADDICT 2011年までは死ねない at July 28, 2010 1:18 PM

Trackback URL

Comment Form

name

mail

hp

cookie
名前やメールアドレスを保存する

comments
copyrightrss2.0L'AblogL'Q100