rel=canonicalがある場合そのリンクをいれるように昔のタイプのブックマークレットに追加してみました。utm_消しもいっしょに
javascript:(function(){
var u,uri,url,rp,r;
var cl=document.getElementsByTagName('link');
for(var i=0;i<cl.length;i++){
if(cl[i].hasAttribute('rel') &&
cl[i].getAttribute('rel').toLowerCase()=='canonical'){
url=cl[i].href;break;
}
}
if(!url){
uri=location.href;r=new RegExp('[\?\&]utm_.*=.*','ig');
rp=uri.replace(r,'');
url=encodeURIComponent(rp);
}
window.open('http://b.hatena.ne.jp/add?url='+url,'_blank');
undefined;
})()
新しいほうのブックマークレットはCanonical対応してるのですが、たまに遅いときもあるので2種類で使い分けていたりします。でもadd.confirmのページも重いときあるんでニントモカントモなんですが。
追記 21:32頃
登録のURIをadd?url=のほうにかえました。add.confirm?でTwitterの個別ページで挙動が違うみたいなので
追記 2010.10.22 18:33頃
rev属性のあるlink要素(link rev=)を先に書いてあるページがあることに気づかなかったのでhasAttributeメソッドを条件式に加えてみました