はてなブックマークのキーワード -> JSON てのをやってみる

higeorange.com内にコンテンツを作った。

URLを変更したので注意。
http://labo.higeorange.com/hatebujson/




http://labo.higeorange.com/keyword.cgi?url=[エスケープしたURL]


JSONP の場合 "callback=関数名"を付ければできる。



http://labo.higeorange.com/keyword.cgi?url=http%3A//d.hatena.ne.jp/higeorange/&callback=hoge

修正

クォートでくくるの忘れてた。

使用例 - del.icio.us のポストページに追加してみる

// ==UserScript==
// @include http://del.icio.us/*url=*
// ==/UserScript==

(function () {
    var container = document.getElementsByTagName("ul")[0];

    var li = document.createElement("li");
    var cls = document.createAttribute("class");
    cls.nodeValue = "bundle fold";
    var sty = document.createAttribute("style");
    sty.nodeValue = "display:block;";
    var id = document.createAttribute("id");
    id.nodeValue = "memanage";

    li.setAttributeNode(cls);
    li.setAttributeNode(sty);
    li.setAttributeNode(id);

    li.innerHTML = "<div style=\"cursor: pointer\" class=\"label arrow\"><span><a href=\"http://b.hatena.ne.jp\">Hatena Bookmark</a> suggestions</span></div><div id=\"memanageWait\">loading...</div> ";
    container.insertBefore(li, container.firstChild);

    var l = document.getElementById('url').value;
    var s = 'http://labo.higeorange.com/keyword.cgi?url='+escape(l)+'&callback=showTag';
    var sc = document.createElement('script');
    sc.src = s;
    sc.type = 'text/javascript';
    document.body.appendChild(sc);
})();

function showTag(data) {
    var tags = data
    var div = document.createElement('div');
    for(var i=0,len=tags.length;i<len;i++) {
        var tag = tags[i].replace(/\s+/g, '').toLowerCase();
        var anc = document.createElement('a');
        anc.href = "javascript:swap('" + tag + "')";
        anc.className = 'tag';
        anc.appendChild(document.createTextNode(tag));
        anc.style.marginRight = "5px";
        div.appendChild(anc);
    }
    document.getElementById("memanageWait").innerHTML = div.innerHTML
}