ブラウザでTwitterを見たときに画像をサムネイル表示するスクリプトの更新

前回からちょっとだけバージョンアップしました。

対応サービスを2つ増やし、下記の5つに対応となりました。

最近フォローしたTwilogなどを作られている@roprosさんが旅行中らしく、やたら写真を上げまくってるので見たくなって対応しました。

旅行やお出かけなどの際に、画像付きでつぶやいてくれるのがTwitterの一番の楽しさじゃないかなと思うこの頃です。


■ 使い方
greesemonkeyのスクリプトです。
前回と同様、下記のコードをコピーして tweet-image-view.user.js と名前をつけて保存し、Firefox または Chrome にファイルをドラッグ&ドロップして登録します。
version1.0からの更新であれば前回のもののアンインストールは不要です。(その前のものはアンインストールしてください)
※ 初回の画像表示などが若干遅れますがご了承ください。


// ==UserScript==
// @name Tweet Image Viewer
// @namespace
// @description
// @include http://twitter.com/*
// @auther ugon105
// v0.1 : 2010.04.19 : First Release
// v1.0 : 2010.10.03 : version 1.0 Release
// v1.1 : 2010.11.17 : add movapic, twipple

var targetClass = undefined;
function insertImg() {
var anchors = document.getElementsByClassName(targetClass);
for (var i = 0, len = anchors.length; i < len; i++) {
if (anchors[i].className.indexOf("preview-done") > 0) {
continue;
}
var href = anchors[i].href;
var thUrl = undefined;
// twitpic
if (href.indexOf("http://twitpic.com") == 0) {
var pid = href.substr(href.lastIndexOf("/") + 1);
thUrl = "http://twitpic.com/show/thumb/" + pid;
}
// yfrog
else if (href.indexOf("http://yfrog.com") == 0) {
thUrl = href + ".th.jpg";
}
// plixi
else if (href.indexOf("http://plixi.com/p/") == 0) {
thUrl = "http://api.plixi.com/api/TPAPI.svc/imagefromurl?size=small&url=" + href;
}
// movapic
else if (href.indexOf("http://movapic.com/") == 0) {
var pid = href.substr(href.lastIndexOf("/") + 1);
thUrl = "http://image.movapic.com/pic/s_" + pid + ".jpeg";
}
else if (href.indexOf("http://p.twipple.jp/") == 0) {
var id = href.substr(href.lastIndexOf("/") + 1);
thUrl = "http://p.twipple.jp/data/"
+ id.substr(0,1) + "/"
+ id.substr(1,1) + "/"
+ id.substr(2,1) + "/"
+ id.substr(3,1) + "/"
+ id.substr(4,1) + "_s.jpg";

}

if (thUrl) {
var img = document.createElement("img");
img.src = thUrl;
with (img.style) {
border = "1px solid #ccc";
padding = "5px";
display = "block";
marginTop = "10px";
}
anchors[i].appendChild(img);
anchors[i].className += " preview-done";
}
}
}

if (document.getElementById("timeline")) {
targetClass = "tweet-url web";
} else if (document.getElementById("doc") && document.getElementById("top-stuff")) {
targetClass = "twitter-timeline-link";
}

if (targetClass) {
insertImg(targetClass);
setInterval(insertImg, 5000);
}