Amazon殺し for firefox on greasemonkeyのバグ
最近 Twitter の web サイトで新着 Tweet 通知機能が働かなくて困っていたので何が原因か探ってみたところ、表題のスクリプトにバグがあることが分かった。
このスクリプトではドキュメントのリンクを走査して Amazon のアフィリエイトリンクを取り除くために JavaScript の for 〜 in 文を用いているのだけれど、これが曲者みたいでよくある for 文に書き直したらいい感じに動くようになった。
以下ソース。
for( var i = 0; i < aTags.length; i++ ) { var strTag = aTags[i].href; if( strTag != null ) aTags[i].href = Changelink( strTag ); }
該当部分の for 文を上記のソースに置き換えれば完成。ずっと気になっていた部分だったので解決してスッキリ。
2010-06-02追記
どうやらこのやり方では肝心のアフィリエイトリンクが取り除かれないみたい。もう少し調べてみるつもりです。
2010-06-02さらに追記
原因は普通に変数を間違えていただけみたいでした。上記のソースは修正済みです。
2010-06-02追記の追記
修正したコードでもうまくいかなかったので諦めて A Killer Mod - yamj.net か Amazon Affiliate Killer for Greasemonkey を使うことにしました。多機能で今でもメンテナンスされているみたいなので Amazon殺し for firefox on greasemonkey は使わない方向で。