2012年11月30日

Twitter、favstar移動ブックマークレット

 Javascriptを使ったブックマークレット、Twitterとその関連サービスを利用するもの。

 Twitterを使ったWebサービスに、favstarというものがある。ツイートに対してのお気に入り「favorite」やRT数を集計して表示するもの。
 私の発言を例に挙げると、こんな感じ。

Twitter
20121130-01.png

https://twitter.com/spread_bomb/status/153262644810366976

 このツイートをfavstarで表示すると、

favstar
20121130-02.png

http://ja.favstar.fm/users/spread_bomb/status/153262644810366976

 この2つのURLについて、favstarはTwitterの該当ツイートNo.にURLを割り当てているため、ユーザーID以降のパラメーターは同じ。
 つまり、URLの最初だけ変換すれば、該当ツイートからfavstarを、逆にfavstarから該当ツイートの移動が可能になる。
 と言う事で作ってみた。

Tweet→favstar
favstar→Tweet
( ↑リンクをブックマークとして保存で使用可 )
ブックマークレット
Tweet→favstar
javascript:(function(){u=document.location.href;ur=u.replace('https://twitter.com','http://ja.favstar.fm/users');if(u!=ur)open(ur,'_blank');})();

favstar→Tweet
javascript:(function(){u=document.location.href;ur=u.replace('http://ja.favstar.fm/users','https://twitter.com');if(u!=ur)open(ur,'_blank');})();

コメント付き解説
Tweet→favstar
javascript:(
function(){
u=document.location.href; // URL取得
ur=u.replace(
'https://twitter.com'
,'http://ja.favstar.fm/users'); // 置換
if(u!=ur) // 置換されていれば
open(ur,'_blank'); // 新規窓で開く
}
)();

favstar→Tweet
javascript:(
function(){
u=document.location.href; // URL取得
ur=u.replace(
'http://ja.favstar.fm/users'
,'https://twitter.com'); // 置換
if(u!=ur) // 置換されていれば
open(ur,'_blank'); // 新規窓で開く
}
)();
 該当文字を置換してそのURLを開くという簡単なもの。

 でも、これだと2種類のブックマークが必要なので、1つのブックマークでどちらも変換できる、いわゆるトグル変換をできるようにしたのがこれ。

Tweet←→favstar
ブックマークレット
javascript:(function(){u=document.location.href;u1="https://twitter.com";u2="http://ja.favstar.fm/users";ur=u.replace(u1,u2);if(u==ur)ur=u.replace(u2,u1);if(u!=ur)open(ur,'_blank');})();

コメント付き解説
javascript:(
function(){
u=document.location.href; // URL取得
u1="https://twitter.com"; // Twitter URL
u2="http://ja.favstar.fm/users"; // favstar URL
ur=u.replace(u1,u2); // Twitter→favstar
if(u==ur) // 置換されてなければ
ur=u.replace(u2,u1); // favstar→Twitter
if(u!=ur) // 置換されていれば
open(ur,'_blank'); // 新規窓で開く
}
)();

 if文を使って、置換で変化しなかった(該当URLではなかった)場合は逆を、そのどちらかが置換がされていればURLを開くというもの。
 もし、これに正規表現を使いたければ、検索文字と置換文字を別に用意しないといけないので、もう少し改良が必要。またいずれ作ってみるかも知れない。

 この形は、他にも応用が利きそうなので、色々と試してみるのも面白いと思う。


posted by 司隆 at 08:27 | Comment(0) | Internet
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]