Subscribed unsubscribe Subscribe Subscribe

現在表示中のページのはてなブックマークのコメント (ブコメ) を表示するブックマークレット

作っている途中でここ車輪の再発明をしていることに気づいたわけですが、こちらははてなスターも出るし、ブックマークレットを呼び出すためのブックマークをもう一度クリックすることで表示を消せるようになっているのでまあいいかとか思ってます。

javascript:with(document)(function(p,z,e,b,w,t,x,r,n,i){r=z.replace(/_/,'b');x=z.replace(/_/,'www');for(i in w)if(i.substr(0,p.length)==p){b.removeChild(w[i]);delete w[i];return;}function h(s,k){k='lt0<0gt0>0quot0"0apos0\'0amp0&'.split(0);while(k[0])s=s.replace(new RegExp(k.pop(),'g'),'&'+k.pop()+';');return s;}n=createElement('div');n.c=function(v,y,b,j,f,i,k){b=v.bookmarks;y='<ul style="list-style-type:none;margin:0 0;padding:0 0;">';for(i in b)if((j=b[i]).comment){f=h(j.user),y+='<li'+t+'10pt"><a style="border:none;color:blue;padding:0 2pt 0 16;background-repeat:no-repeat;background-image:url('+x+'users/'+h(j.user.substr(0,2))+'/'+f+'/profile_s.gif)" href="'+r+f+'/'+j.timestamp.replace(/\//g,'').substr(0,8)+'#bookmark-'+v.eid+'">'+f+'</a>';for(k in j.tags)k=h(j.tags[k]),y+='<a class="user-tag" href="'+r+'t/'+k+'"'+t+':50%;color:#88f;margin:0 2pt">'+k+'</a>';y+='<span class="comment">'+h(b[i].comment)+'</span></li>'};n.innerHTML=y+'</ul>';Hatena.Bookmark.Star.loadStar('li',n);};n.setAttribute('style','background-color:#eee;position:absolute;z-index:9999;right:0;top:0;padding:4 4;overflow:scroll;text-align:left;width:240px;height:'+b.clientHeight);function s(l){n.appendChild(createElement('script')).setAttribute('src',l);};s(z.replace(/_/,'s')+'js/HatenaStar.js');s(r+'js/Hatena/Bookmark.js?');s(r+'entry/json/?callback='+e((n.id=p+(0|Math.random()*1e10)))+'.c&url='+e(URL));n.appendChild(createTextNode("読み込み中"));b.appendChild(n);w[n.id]=n})("hatena_bookmark",'http://_.hatena.ne.jp/',encodeURIComponent,body,window,' style="font-size:');

もっと短くできそうな気がする。