はてなフォトライフの画像を外部のblogに簡単に貼れるように画像へのurlを表示されるユーザスクリプト

[id:sanbo-n:20080506:1210084239]で画像の詳細でurlわかるからコピペでいいんじゃないか的なコメントしたのだけれど、なんか微妙なニュアンスなレスが返ってきたのでユーザスクリプトを書いてみた。
こんな感じで画像の下にimgタグが表示されるのでコピペで貼る等すればok
http://img.skitch.com/20080508-r6ypcymxhtaca6juern5ffxpyt.png
元画像へのリンク付きのタグでも良かったけれど(flickrみたいに)そこまでいるかしら?とも思ったので簡単な構造に

ソース

// ==UserScript==
// @name           fotolife img src disp
// @namespace      http://d.hatena.ne.jp/natu_n/
// @include        http*://f.hatena.ne.jp/*
// ==/UserScript==

(
function(){
    var PREFIX = '<img src="http://f.hatena.ne.jp';
    var SUFFIX = '">'
    var nodes, img, src;
    nodes = getElementsByClassName(document.body, 'foto-body');
    if (nodes[0]) {
        if (img = nodes[0].getElementsByTagName("img")[0] || null) {
            src = img.getAttribute("src");
            var df = document.createDocumentFragment();
            var cd = document.createElement('code');
            cd.appendChild(document.createTextNode(PREFIX + src + SUFFIX));
            df.appendChild(cd);
            nodes[0].parentNode.insertBefore(df, nodes[0].nextSibling);
        }
    }

function getElementsByClassName(node, classname) {
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0, j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

})();

備考

多分ユーザスクリプトが使えるブラウザなら動作する筈です(IE7proはファイル名を書き換えて)