フレッシュリーダーに「未読を全て開く」機能を追加する
livedoor Readerなどの新手のRSSリーダーが登場しても全く機能改善されないせいか、今では全く注目されていないFreshReader。ですが、サーバーインストール型で有償のため、利用している方もいるかと思います。
かく言う自分はlivedoor ReaderとFreshReaderを併用していたのですが、livedoor Readerの巡回間隔の遅さにだんだん嫌気が差してきたので、巡回間隔で無理が効くFreshReaderへの機能追加を思い立ちました。とは言っても真面目にピン機能を実装するのは大変なので、とりあえず「ページ内の未読リンクを全て開く」機能を付けただけです。
頑張ればピン機能も付けられそうですが、自分ではそういう使い方をしないので....
手順
手順は以下の通りです。
- FreshReaderをインストールしたディレクトリの下に「plugin」ディレクトリを作成します。
- pluginディレクトリの中に、以下の内容で「plugin.txt」ファイルを作成します。文字コードはUnicodeです。
----ここから <style> div.visited_check { position:relative !important; top:-10000px !important; } a.visited_check:visited { display:none !important; } a.visited_check { } </style> <script language="JavaScript"> var runonce; if(!runonce){ runonce = true; var div = document.createElement('div'); div.className = 'visited_check'; document.body.appendChild(div); var nonvisited_links = Array(); var links_check = Array(); } function isVisited(url) { div.innerHTML = '<a href="' + url + '" class="visited_check">string</a>'; var visited = true; if(this.div.childNodes[0].offsetWidth > 0) visited = false; return visited; } if(!isVisited("${url}") && !links_check["${url}"]){ nonvisited_links.unshift("${url}"); links_check["${url}"]="${url}"; } function openAll() { var c; var i; var n=nonvisited_links; for(i=0;i<n.length;i++){ if(!isVisited(n[i])){ window.open(n[i]); c++; if(c>=100){ break; } } } } </script> <a href="" onClick="openAll();return false;">未読開く</a> ----ここまで