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メソッドを条件式に加えてみました