リンク先の画像をページに埋め込むブックマークレット

掲示板とかでこんな感じに貼られているURLを

こうするスクリプト

ソースはこんな感じ。
IEだと長いスキームはエラーになるので出来るだけ文字数を節約しようとするため見にくくなりがち。

(function ()
{
//画像のサイズを整える function ig(e, x)
{
//画像オブジェクト作成 (g = new Image()).src = e.src;
if (!g.width) {
//404などで正しくないイメージの場合はノードを非表示 e.parentNode.style.display = "none";
}
else if (g.width > g.height) {
//横の方が大きいときの処理 e.style.width = x + "px";
e.style.height = "auto";
}
else {
//縦の方が大きいときの処理 e.style.width = "auto";
e.style.height = x + "px";
}
};
for (i = 0; i < document.getElementsByTagName("a").length; i++)
{
e = document.getElementsByTagName("a")[i];
//2chのリンクはime.nuがくっついてるので取り除く e.href = e.href.replace(/(ime.nu\/|ime.st\/)/, "");
//画像でなければこの先の処理をスキップ if (/\.(jpg|png|gif|bmp)$/.test(e.href) == false) {
continue;
};
//改行させる e.appendChild(document.createElement("br"));
//img要素を作成 ad = document.createElement("img");
//src属性を設定 ad.src = e.href;
//とりあえずサイズは横128pxで縦はauto ad.style.width = "128px";
//img要素を追加 e.appendChild(ad);
//eの2つめの子どもがimg要素になっている(<a><br><img></a>) im = e.childNodes[2];
//画像が読み込まれたら整形 im.onload = function ()
{
ig(this, 128)
};
//404などで画像が正しく読めなかった場合 im.onerror = function ()
{
ig(this, 128)
};
//マウスを乗せると拡大 im.onmouseover = function ()
{
ig(this, 256)
};
//マウスが離れると戻す im.onmouseout = function ()
{
ig(this, 128)
}
}
})();
そしてこれがjavascript:スキーム形式にしたもの

もっと短く出来るはず…