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 にして目立たないようにしたうえでクリックしています。(フォーカスは移動してしまうことにはご注意ください。)

↑ このように少し太線になっている箇所がありますが、そこが PR: で始まる記事がある箇所。
Google Readerで一度ざーっとスクロールして広告を取り除き、それからリロードしてゆっくり読むという使い方ができます。
» Google Reader Auto Read Ads – Userscripts.org
コメントを残す