Pathtra 新しい API がリリースされたみたいなので
さっそく何か作ってみた
http://b.hatena.ne.jp/hotentry で以下のブックマークレットを実行してください
javascript:var s=document.createElement('script');s.src="http://amachang.art-code.org/pathtraq/page_counter2.js";document.body.appendChild(s);void(0)
ソースは以下のようになってます
(function() { var entryXPath = 'div[@class="entry"]'; var parentXPath = '//div[@class="optionsub"]'; var parent = document.evaluate(parentXPath, document, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null).singleNodeValue; var r = document.evaluate(entryXPath, parent, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var elements = []; for (var i = 0; i < r.snapshotLength; i ++) elements.push(r.snapshotItem(i)); var hash = {}; var script = document.createElement('script'); script.src = 'http://api.pathtraq.com/page_counter2?callback=__pathtraqCallback__&' + elements.map(function(e) { var href = document.evaluate('.//a', e, null, XPathResult.FIRST_ORDERED_NODE_TYPE , null).singleNodeValue.href; href = href.replace(/#.*$/, ''); hash[e.id] = href; return 'url=' + encodeURIComponent(href); }).join('&'); document.body.appendChild(script); window.__pathtraqCallback__ = function(obj) { elements.sort(function(a, b) { return obj.items[hash[b.id]] - obj.items[hash[a.id]]; }).each(function(e) { parent.appendChild(e); }); }; })();
このように
一気に 50 URL くらい投げられるようになったのは便利ですね!