すんごい適当及び初心者書いているので汚いし、不効率だし、不具合あるかも。
tagにXSSとか仕込まれるとやばい?そんなことする奴いるかしらんけどw
はてブしている人がよく付けるタグを表示するグリモン
先日はてながリニューアルされてお気に入り機能が強化されました。
お気に入り機能は気に入ったブックマーカーを登録しておくことで、その人が登録したブックマークを追えるようになるんだけど、何を持ってお気に入りにするかって判断する基準が乏しいのでブコメのところにその人が付けているタグTop3を表示させてみました。
これで、ブコメチェックしつつ自分と似たようなタグを付けている人を探しやすくなるのでお気に入りに入れる判断の手助けになるかなっと思います。
以下ソース - (bloggerの機能で一部欠ける・・・需要合ったらjs上げるのでコメントください)
// ==UserScript==
// @name favoritetags
// @namespace jp.mamono.favoritetags
// @include http://b.hatena.ne.jp/entry/*
// ==/UserScript==
(function (){
var cloudStr = 'tag-cloud-size-';
var baseCloudsize = 9;
var overCloudsize = 11;
var maxTag = 3;
function Tag(tagElement) {
this.tag = tagElement;
this.getName = function() {
return this.tag.getElementsByTagName('a')[0].textContent;
}
this.getSize = function() {
return parseInt(this.tag.getElementsByTagName('span')[0].textContent.match(/\d+/));
}
this.getText = function() {
return this.getName() + this.tag.getElementsByTagName('span')[0].textContent;
}
}
function d() {
alert('test');
}
function addFavoriteTags(usertag) {
function onload(response) {
var result = new Array();
if (response.responseText != null) {
var tags = findTags(response.responseText).getElementsByTagName('li');
for (var i = 0; i < tags.length; i++) {
result.push(new Tag(tags[i]));
}
}
if (result.length == 0) return;
result.sort(function(o1, o2) { return o2.getSize() - o1.getSize(); });
var addTag = document.createElement('span');
addTag.setAttribute('style', 'font-size:80%');
for (var i = 0; i < result.length; i++) {
if (i >= maxTag) break;
addTag.textContent = addTag.textContent + result[i].getText();
}
usertag.parentNode.insertBefore(addTag, usertag.nextSibling);
}
GM_xmlhttpRequest({ method: "GET", url: 'http://b.hatena.ne.jp/' + usertag.text + '/', onload: onload });
}
function findTags(html) {
var result = new Array();
var sep = '\n';
var t = html.split(sep);
var addflag = false;
for (var i = 0; i < t.length; i++) {
if (t[i].match(/
0 件のコメント:
コメントを投稿