F.Ko-Jiの「一秒後は未来」

Google Readerで「PR:」で始まる記事を自動的に既読にするGreasemonkeyスクリプト

Google Reader Auto Read Ads」は、タイトルが「PR:」で始まるRSS広告を自動的にクリックして既読にしてくれる、Google Reader用のGreasemonkeyスクリプトです。手抜きしてPR:に特化しています。

(追記 2009-03-04) ↑ ここで「クリック」と記述していますが、クリックしているのはGoogle ReaderのDOM要素に対してなので、リンク先は開いていません。(紛らわしいっすよね、、。)

アメブロのフィードに広告が入るようになってしまったため、RSS広告がさらに目立つようになってしまいました。ケータイのフルブラウザでGoogle Redaerモバイルを使っていると、Greasemonkeyなど使えないため広告を排除できずどうしようもありません。

そこで、「あらかじめパソコンで読んでいるときに広告を既読にしておけないだろうか?」と考えてこのスクリプトを作ったわけです。

スクリプトのソースは以下のようになっています。

document.body.addEventListener("DOMNodeInserted", function(e) {
    var element = e.target;
    if (element.className != "entry") return;
    var title = element.getElementsByTagName("h2")[0];
    if (title.textContent.match(/^PR:/)) {
        element.style.height = 0;
        var event = title.ownerDocument.createEvent("MouseEvents");
        event.initMouseEvent("click", true, true,
                             title.ownerDocument.defaultView,
                             1, 0, 0, 0, 0,
                             false, false, false, false,
                             0, title);
        title.dispatchEvent(event);
    }
}, false);

単純に「PR:」で始まる記事のDOM要素に対してクリックイベントを発生させているわけですが、そのままクリックするとクリックした記事にフォーカスが移動してしまい、逆に目障りになってしまうため、

element.style.height = 0;

のように「PR:」で始まる記事の高さを 0 にして目立たないようにしたうえでクリックしています。(フォーカスは移動してしまうことにはご注意ください。)

google-redaer-auto-read-ads.gif

↑ このように少し太線になっている箇所がありますが、そこが PR: で始まる記事がある箇所。

Google Readerで一度ざーっとスクロールして広告を取り除き、それからリロードしてゆっくり読むという使い方ができます。

» Google Reader Auto Read Ads – Userscripts.org

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など