Languages

Pages

LDR Ad-Entry Blocker: Block offecsive Ad-Entries!


/* How does it work ? */

This Greasemonkey script block advertisement entries such as “AD: …”, “PR: …” on LDR.

Update history

  • 0.1.2 [2008-02-01]: first release
  • 0.1.3 [2008-02-01]: supported Opera
  • 0.1.4 [2008-06-19]: supported fLDR

LDR is useful tool for me. However, some RSS include advertisement entries. Of course I skip these entries but I feel it is annoying.
So I made this.

/* Install */

This script already uploaded to Userscripts.org. So please install it from this page.

ldr_adentry_blocker.user.js

/* Settings */

Configurable items:

name description value type
patterns Blocker search these ads pattern in entry title. RegExp Array(RegExp)
style Blocker apply this style to the element of entry title. valid style name and value Object
interval The interval of crawling to find ad-entry. 0 to Number.MAX_VALUE Number
skip skip ad-entry when press “j/k” if you set true. true/false Boolean

Sample settings

/////////////// configurations ////////////////
var cfg = {
	// judgement patterns of entry title
	patterns: [/^[s【]*(AD|PR|AD|PR)[s】]*[:]/i],
	// advertisement entries style (apply this style to title link <a>)
	style: {
		color: '#aaa',
		fontSize: '12px'
	},
	// apply interval
	interval: 1000,
	// skip ad-entry
	skip: true
}
///////////////////////////////////////////////

In case of default setting, Blocker will remove entry body and change title color to grey. If you want remove completely, you change “style” setting.

/* Conclusion */

I have made this Greasemonkey script 2 months ago. I think I have to upload more because I have many scrips doesn’t upload yet.

enjoy LDR ! Wink

16 Comments

Similar Posts:

Trackback URL:

Comments:

  1. Sasha Cohen says;
    06 Apr 2008 - 16:21

    Hey!…Thanks for the nice read, keep up the interesting posts..what a nice Sunday . Sasha Cohen

  2. ぜひFastladder対応版もお願いします。
    # @include http://fastladder.com/reader/* ではダメでした。

  3. 対応しました。試してみてください。
    LDR Ad-Entry Blocker

  4. 動きました! 素早いご対応ありがとうございます。

  5. 他のスクリプトでも何か不具合や機能要望等ありましたらお気軽コメントいただけると嬉しいです ^^

  6. tamura says;
    22 Aug 2008 - 0:34

    非常に便利に利用させて見らって居ます。

    seesaa blog の広告を消したいのですが


    http://stevie.seesaa.net/index.rdf

    どのように正規表現を変更すればよいのでしょうか?

    ↓のように変更してみたのですが
    patterns: [/^[\s【]*(AD:|AD|PR|AD|PR|オススメ).*/i],
    うまく動作しないようです

    よろしくお願いいたします

  7. 使っていただきありがとうございます!
    patterns: [/^[\s【]*(AD|PR|AD|PR)[\s】]*[::]/i, /^オススメ・/],
    としていただければOKです。以下、少し解説を。

    patternsは正規表現の配列になっているため、すべての広告パターンを1つの正規表現に詰め込まなくてもいいわけです。そこで単純に配列にもう1つ「/^オススメ・/」という正規表現を追加しました。
    patternsで指定された正規表現の中の1つでもマッチすれば広告エントリと判断しますので、3つ、4つと増やしていただいて問題ありません。

  8. tamura says;
    22 Aug 2008 - 18:33

    無事広告カットできました

    広告自体はそんなに嫌っている訳ではないのですが
    RSSフィールドで同じ内容の広告が頻繁に出てくるので
    困っていました

    ありがとうございました

  9. ku-nyan says;
    29 Aug 2008 - 2:05

    ありがたく使わせていただいています。
    「オススメ」関係はコメント欄を見る前に、
    [/^[\s【]*(AD|PR|AD|PR|オススメ)[\s】]*[::・]/i,]
    このように変えていましたが、これでもうまく運用できていますよ。
    (Safari 3.1.2+GreaseKit 1.5+OS X 10.4.11)
    ところで、
    >広告エントリをそもそも表示しないことも可能です。
    とのことですが、これは具体的にどうすれば良いでしょうか?

  10. > [/^[\s【]*(AD|PR|AD|PR|オススメ)[\s】]*[::・]/i,]
    > このように変えていましたが、これでもうまく運用できていますよ。
    > (Safari 3.1.2+GreaseKit 1.5+OS X 10.4.11)

    おお、たしかにそれでオッケーですね!
    ku-nyanさん、ありがとうございます。

    それで広告エントリを消す方法ですが、これはdisplay:noneを指定するだけです:

    style: {
    display: ‘none’
    },

    よってエントリタイトルの表示は消えるものの、その周り(枠、ピン、クリップボタンなど)までは消えません(なんだか騙したみたいでゴメンナサイ><)。
    もし完全にエントリを表示しないことをお望みでしたらそのようなオプションを検討したいと思います。

  11. ねこ says;
    19 Feb 2009 - 12:25

    愛用しております、ありがとうございます。
    複数広告が続く場合に正しくskipできないので、
    手を加えてみました。

    var j_func = Keybind._keyfunc['j'];
    Keybind.add(’j|enter’, function(){
    j_func();
    do{
    var skip = 0;
    var info = get_active_item(true);
    if(hasClass(info.element, ‘blocked’)){
    j_func();
    skip = 1;
    }
    }while(skip == 1)
    });
    var k_func = Keybind._keyfunc['k'];
    Keybind.add(’k|shift+enter’, function(){
    k_func();
    do{
    var skip = 0;
    var info = get_active_item(true);
    if(hasClass(info.element, ‘blocked’)){
    k_func();
    skip = 1;
    }
    }while(skip == 1)

  12. ねこさん、どうもありがとうございます。
    連続した広告は考慮しておりませんでした。助かります。
    早速反映させたいのですが、各環境でも動作確認をしたいので複数広告が続くサイトのRSSを教えていただけないでしょうか?

  13. ねこ says;
    24 Feb 2009 - 20:27

    私の環境ではSeasaaブログでよく複数広告が続きます。
    例えば以下のブログなど。
    ttp://legojapan.seesaa.net/
    フィードそのもので広告が続くことはないのですが、
    ブログが更新された際に、古い広告エントリも更新されるので、
    LDRでは更新された広告が続くように見えます。

    例えば「日記1、広告a、日記2、日記3、広告b」というフィードがあった時、
    新しい「日記4」が追加されると「広告c」が増えるだけでなく、
    「広告a」や「広告b」も更新されるので、
    「日記1、広告a’、日記2、日記3、広告b’、日記4、広告c」となり、
    前回との差分を表示するLDRで見ると、
    「広告a’、広告b’、日記4、広告c」となるという感じです。

  14. tamate says;
    13 Nov 2009 - 10:42

    google chrome への対応をご教示ください

  15. @tamate
    先ほどちょっとChromeで試してみたのですが、根本的に動きませんね・・・。
    私にはChromeでのユーザースクリプト開発経験がないので対応には時間がかかりそうです。

  16. tamate says;
    14 Nov 2009 - 11:43

    早速お返事いただきありがとうございます。firefoxにて煩わしさが取り除かれることに大変感謝しています。今はGoogle chromeを愛用していますので、そちらでも開発を進めていただければありがたいです。よろしくお願いいたします。

Add a Comment