Firefox Add-on RSS Ticker用広告フィルタ
FirefoxのAdd-on、RSS Tickerを長らく愛用しています。RSSフィードの更新を素早くお知らせしてくれ、かつ邪魔にならない*1ので、とってもお勧めです。Sleipnirでもこういうのあったけどね。
さて、そうは言っても、このAdd-onで不満な点がひとつだけある。RSSフィードのフィルタリングがされないんです。大抵のRSSリーダはこうした機能が入っていますが、残念ながらRSS Tickerは対応していません。Add-on作者のサイトでも、フィルタリング機能追加の要望は挙がっているけど、応えてくれない様子。それなら自分で追加するしかねぇ!ってことで簡易なものではありますが、その方法をご紹介します。
念のためですが、無保証です。その前提で読み進めてください。動作確認したRSS Tickerのバージョンは3.0.3〜3.0.4です。
Add-onがある場所の特定
Add-onがあるフォルダを探してください。おそらくWindowsXPだと、デフォルトで
C:\Documents and Settings\<ユーザー名>\Application Data\Mozilla\Firefox\Profiles\<英数字>.default\extensions\
に、導入したAdd-onのフォルダがいくつかあると思います。そのどれかがRSS Tickerのフォルダなのですが、それはがんばって探してください。たぶんフォルダ名は環境によって違ってくると思うので。僕の場合↓こんな感じ。
chrome\content\ticker.object.jsを適当なテキストエディタで開いてください。これが本体です。
コードを追加
ticker.object.jsの750行あたりに、↓こんな記述があると思います。
var itemIsVisited = this.history.isVisitedURL(feedItems[j].uri, feedItems[j].id, 1); if (itemIsVisited && this.hideVisited){ continue; }
このすぐ下に追加する形で、↓こんな感じに。
var itemIsVisited = this.history.isVisitedURL(feedItems[j].uri, feedItems[j].id, 1); if (itemIsVisited && this.hideVisited){ continue; } // Ad Filter if (feedItems[j].label.match(/^((AD:\s)|(PR:\s)).*$/)){ continue; }
これで「AD: 」から始まるアイテム、「PR: 」から始まるアイテムを非表示にできます。ticker.object.jsを保存して、Firefoxを再起動し試してみてください。
ちなみに
僕はJavascriptは全然わからないのであれですが、このAdd-on本来の動作だと、既読アイテムはDBに保存して表示しないようにしているようです。ですが上記の方法ではDBに保存していません。が、特に問題は起こらないはずです。広告は普通のアイテムの間にランダムで入ってくるので、スタックすることもないでしょう。もし気になるなら、フィードを「Mark Feed as Read」してください。
*1:サイドバー表示のだとサイドバー開くの面倒!