endflow.net blog

/* programming and programming */

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

with 19 comments

/* 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

Written by kuy

February 1st, 2008 at 4:28 pm

Posted in Uncategorized

Tagged with , , , , ,

19 Responses to 'LDR Ad-Entry Blocker: Block offecsive Ad-Entries!'

Subscribe to comments with RSS or TrackBack to 'LDR Ad-Entry Blocker: Block offecsive Ad-Entries!'.

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

    Sasha Cohen

    6 Apr 08 at 16:21

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

    you

    19 Jun 08 at 13:52

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

    kuy

    19 Jun 08 at 23:53

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

    you

    20 Jun 08 at 11:23

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

    kuy

    21 Jun 08 at 01:40

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

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


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

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

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

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

    tamura

    22 Aug 08 at 00:34

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

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

    kuy

    22 Aug 08 at 01:21

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

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

    ありがとうございました

    tamura

    22 Aug 08 at 18:33

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

    ku-nyan

    29 Aug 08 at 02:05

  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’
    },

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

    kuy

    3 Sep 08 at 20:55

  11. 愛用しております、ありがとうございます。
    複数広告が続く場合に正しく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)

    ねこ

    19 Feb 09 at 12:25

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

    kuy

    22 Feb 09 at 22:51

  13. 私の環境では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」となるという感じです。

    ねこ

    24 Feb 09 at 20:27

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

    tamate

    13 Nov 09 at 10:42

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

    kuy

    13 Nov 09 at 14:41

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

    tamate

    14 Nov 09 at 11:43

  17. Operaにていつも便利に使わせていただいています。

    >もし完全にエントリを表示しないことをお望みでしたらそのようなオプションを検討したいと思います。
    是非、検討の程よろしくお願いします。

    kura

    3 Feb 10 at 18:07

  18. [...] This post was mentioned on Twitter by M.F. M.F said: LDR Ad-Entry Blocker: 目障りな広告エントリを根こそぎ撃退! | endflow.net blog http://bit.ly/a0yw9m [...]

  19. seesaa用にパターンを追加してみました。
    patterns: [ /^[s【]*(AD|PR|AD|PR)[s】]*[::]/i, /^[PR]/i ],

    iyoda

    20 Apr 10 at 11:38

Leave a Reply