「g」で本文を取得するlivedoor Reader用Greasemonkeyスクリプト
livedoor Readerでアメブロを完璧に全文配信にするGreasemonkeyスクリプトの需要がありそうなので、改良してみました。改良点は以下。相変わらずlivedoor Reader専用ですが。
- 任意のフィードについてカスタマイズできるようにした。
- ボタンクリックではなくキーボードショートカット(g)で本文を取得できるようにした。
- UTF-8以外のサイトにも対応した。
- 記事タイトルの先頭が「AD:」で始まる記事については本文を取得しない。
スクリプトはこちら
ldrfullfeedchanger.user.js (ver 0.3)
※ 修正履歴
[2007-12-25][ver 0.3] 本文に含まれるaタグに target=”_blank” を追加するようにしました。
[2007-11-11][ver 0.2] 「c」の本文非表示ができなくなっていたので、修正しました。<div class=”body”>がないとだめでした。
デフォルトの設定で、アメブロとGIGAZINEとITmediaをセットしています。
w.FULLFEED.exp = { "http://ameblo.jp/": { "s": '<div class="subContents">', "e": '<!--//.subContents-->' }, "http://gigazine.net": { "s": '<!-- google_ad_section_start -->', "e": '<!-- google_ad_section_end -->' }, "http://www.itmedia.co.jp": { "c": true, "s": '<!--BODY-->', "e": '<!--BODYEND-->' } };
ITmediaの文字コードはShift_JISなのでUTF-8に変換したソースを取得します。そのために、上の設定のように “c”: true, を追加します。
↑ このように本文取得の設定をしたフィードには、 getcontentsmark.gif のマークが表示されます。これが表示されていれば、「g」キーが使えます。
P.S. Google Reader用はこちらです。
» 「z」で本文を取得するGoogle Reader用Greasemonkeyスクリプト – F.Ko-Jiの「一秒後は未来」
プリフェッチタイミングで、自動で取ってきちゃうとかどうです。
http://la.ma.la/misc/userjs/ldr_prefetch_images.user.js
マウスクリックとかプリフェッチしないこともあるので、手動はあるといいと思います。
> プリフェッチタイミングで、自動で取ってきちゃうとかどうです。
いいですね。ソースありがとうございます。
item.body.replaceのとこでうまく本文にrelplaceできれば
いいわけですよね。ちょっとチャレンジ。
むぅ、、むずかしい
これすっごく便利!
すこしポストしときますね。
“http://www.nikkei.co.jp/”:{
“c”: true,
“s”: ‘<!– メインニュース–>’,
“e”: ‘<!– //メインニュース–>’
},
“http://dsas.blog.klab.org/”:{
“c”: true,
“s”: ‘<div class=”main”>’,
“e”: ‘<div class=”posted”>’
},
“http://japan.cnet.com/”:{
“c”:true,
“s”:'<div class=”leaf_body”>’,
“e”:'</newselement></div>’
}
ちなみに画像が相対パスのものってどうにかできないんでしょうか?
あまりjavascript詳しくないのでよくわからなかったです
>>tmさん
ありがとうございます。CNETの終わりの区切りは
“e”:'<div style=”float:right;margin-bottom:10px;”>’
のほうがよさそうです。
相対パスは記事のURLのドメインがサイトと一致していれば
できそうですが、リダイレクトがからむとどうなるか。
いいですね。
とりあえず ad-hoc に画像を表示できるようにしてみました。
http://yaa.no-ip.org/~yaa/diary/20071113.html#p04
>>YAAさん
ありがとうございます。
replaceの第2引数でfunction使えば条件分岐が簡単なのですね。
勉強になります!!