2007/05/04

[技術系]   Seesaa BLOGのリファラーログをお掃除するブックマークレット

at 06:39JST
 
この「めもちょう」はSeesaa BLOGに独自ドメインを割り当てて飛ばしているのだが、こういう利用法をしたときのSeesaa BLOGには致命的な不具合がひとつある。

「アクセス解析の“リンク元”に、
 自ドメイン内からのアクセスがズラリと並ぶ」

という点だ。おまけに一般のサーチエンジンからのアクセスも排除されず、リンク元として記載されてしまう。…使いづらいとか使いやすいとか言う前に、Seesaaのストレージに負荷がかかると思うのだが…。

で、めんどくさいのでブックマークレットで
「参考にならなそうなリンク元は自動的に消す」
やつを作ろうとしたら、
「えーと、このtableの中の行のこれが…」
とか複雑に判定してたらワケがわからなくなって挫折したのであった。昔の話。

きょう、たまたま行き着いたblogにこんなスクリプトが…。

Seesaa のアクセス解析のリファラスパムを消す Bookmarklet - エブログ
http://ablog.seesaa.net/article/34999931.html
...if(document.links[i].href.match(/#$|%23$/g))links[i].parentNode.parentNode.style.display="none"...


ああ…_| ̄|O そっか。document.links でチェックして、該当するノードの親の親を消したら一発なのか…。

すばらしいとんちだ。参考にして書き換えたのが以下。

MyRefererCleaner

javascript:(function(){var links=document.links;for(var i=0;i<links.length;i++){if(links[i].href.match(/^http:\/\/(www.google.|search.msn|search.live.|search.nifty.|search.yahoo.|cgi.search.biglobe|images.google.|ocnsearch.|search.www.infoseek.|ezsch.ezweb.|azby.search.nifty.|memo.hirosiki.jp)/))links[i].parentNode.parentNode.style.display="none";}})();

# .を\.にしてないとか突っ込むのは不可

前もJavaScriptでHTML解析する事例で似たようなのがあって、ショックを受けたんだよなあ。なんとなく格言にしてみると、

「JavaScriptでパースするときは、
 外側からではなく内側から攻めろ!」

ってことなのかと。



関連しそうな過去記事:
さらに過去の記事
2009/04 (1)   2008/12 (3)   2008/11 (9)   2008/10 (10)   2008/09 (20)   2008/08 (2)   2008/07 (23)   2008/06 (16)   2008/05 (22)   2008/04 (11)   2008/03 (21)   2008/02 (20)   2008/01 (21)   2007/12 (32)   2007/11 (37)   2007/10 (46)   2007/09 (63)   2007/08 (33)   2007/07 (41)   2007/06 (81)   2007/05 (173)   2007/04 (168)   2007/03 (113)   2007/02 (123)   2007/01 (92)   2006/12 (111)   2006/11 (185)   2006/10 (20)  
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。