Livedoor Reader上でPDFリンクをGoogle docs経由に置き換えるGreasemonkeyスクリプト

Livedoor Readerで使えるGreasemonkeyスクリプトを作りました。

概要

Kooniesさんの「快適!PDFのリンクをGoogle docs Viewer経由に置き換えるgreasemonkey」の機能を、Livedoor Reader上で使えるようになります。
インストールはこちらから→LDR - PDF/PPT/TIF viewer with Google Docs

使い方

リンクをクリックするとGoogle docs経由で対象ファイルを開くところは本家と同じです。さらに、リンク末尾のアイコンから、Google docsを経由しない本来のリンクを参照することができます。この部分はpuppetさんのアイデアとコードを大部分流用させていただきました。

注意事項

このスクリプトLivedoor Reader上のみで動作します。本家のスクリプトを代替できるものではありませんので、併用してください。
また、記事件数が多い場合、置き換えが遅れることがありますが、待っていると置き換わります。これは、全ての記事を読み込み終わってからリンクを置換しているからです。

SBMカウンタのユーザ名にリンクを付加するGreasemonkeyスクリプト

概要

アドオン「SBMカウンタ」のコメント表示欄に各ユーザへのリンクを付加します。
インストールはこちらから→SBM Counter - Link to Bookmarker

使い方

コメント表示欄(右下に出る黒いの)のユーザ名のところにリンクが付くので、クリックすればそのユーザのページが新規タブで開きます。

注意事項

ページを開いてすぐコメント欄を開いた場合、まだリンクが付いてないことがあります。そんなときは、一旦コメント欄を閉じてまた開いたらリンクが付いてると思います。また、livedoorクリップなどはサーバが重くてコメントの取得が遅れることがあり、そうなるとリンクが付きません。その場合は、コメントのダウンロードが完了した後、ページをリロードすればリンクが付きます。

実装について

SMBカウンタのコメント欄はドキュメント内のDOM要素なのですが、対象ページのタブがアクティブになったときに生成されます。そのため、ページがバックグラウンドのタブで開かれた場合、グリモンのスクリプトが実行されるタイミングであるDOMContentLoadedイベントの時点では、DOM要素がまだ存在していないため捕捉できません。
そこで、documentのmouseoverイベントを使って「タブがアクティブになった」を擬似的に検出するようにしているのですが、もっとましな手段があればぜひ教えてほしいです。

Livedoor Readerで▲▼ボタン上でホイールスクロール可能にするGreasemonkeyスクリプト

2010/01/29 更新しました (外枠ごとスクロールしてしまうバグの修正)

概要

Livedoor Readerで記事移動ボタン(|▲|▼|)上でもホイールスクロールが効くようにします。

インストール

こちら→LDR Wheel Scroll on Up/Down Button

何の役に立つのか

LDRをマウスで閲覧する際の操作性を向上させます。特に、左手をキーボードまで伸ばすのが面倒な人に役立ちます。あと、スムーズスクロールします。

使い方

図の位置でマウスホイールしてください。

今後

ピン登録ボタンまでマウス移動せずにピン登録できるようにするなど、もう少し改良を加える予定です。

ページ内の全てのテキスト入力欄にクリアボタンを付加するGreasemonkeyスクリプト

概要

ページ内の全てのテキストボックス、テキストエリアにクリアボタンを付けます。
インストールはこちらから→Clear Button for Every Textbox

主な使い道

ずばり、AutoCopyユーザにおすすめです。「テキスト入力欄をクリアしたいけど選択できない」ジレンマを解消することができます。ただし、サイトの見た目は美しくなくなります。また、ページレイアウトが若干乱れることもあります。

使い方

×ボタンを押すとテキストをクリアできます。他には、ボタンにマウスポインタを乗せると、クリア対象のテキスト入力欄が灰色になります。レイアウトが崩れるなどしてボタンがどのテキスト入力欄に対応するかわからなくなったとき目印にしてください。

既知の不具合

全てのとか言っておきながら、はてなダイヤリーの編集フォームのように、ページを開いた時点では隠れているようなテキスト入力欄にはクリアボタンが付きません。どなたか、そのようなstyle.displayが'none'な要素(やその子要素)にDOM操作を行う方法を教えてください。。。

del.icio.us IncSearch他類似アドオンに「タグ一覧からクリック入力」機能を付加するuserChrome.jsスクリプト


概要

以下のアドオンにタグ選択ボックスを表示し、クリックで検索ワードを追加できるようにします。

Tag List for SBM IncSearchのダウンロードはこちら→ダウンロード

使い方

一覧中のタグをクリックすると、そのタグが検索ボックスに追加されます。また、一覧から選択中のタグをクリックすると、検索ボックスからそのタグを削除します。一覧が大きくて邪魔なときは、右肩のHideボタンをクリックすると隠せます。Showボタンをクリックすることで再び表示することができます。

ファイルがダウンロードできない場合

なんだかファイルがダウンロードできない場合があるようなので、スクリプトのコードを貼り付けます。長いので、表示するには続きを読むをクリックしてください。

というか、userChrome.jsのスクリプトを簡単にアップできるuserscripts.orgみたいなサイトって無いんでしょうか。。。

追記

と思っていたら http://gist.github.com/ を見つけたのでそこにアップしました。最近よく見かけてたのは単なるgithubじゃなくてgistのほうだったんですね。

livedoor clip IncSearchのsyncでエラーが出たときの対処法

Livedoorクリップをオンラインブックマークとして利用するなら、「livedoor clip IncSearch」は必須のアドオンですね。ただこのアドオンは、いざsyncしようとしたときに、「error: Please login livedoor.」というエラーが、結構な頻度で発生してしまうのが難点です。このエラーは、実際にはログイン状態であったとしても、Livedoorクリップのサーバが重いと出てしまう場合があり、しかもなかなか治らないのでやっかいでしたが、対処法がありました。

対処法

以下のリンク先ページのキャッシュがエラーページのものになっている間中はエラーが出続けます。

http://clip.livedoor.com/export/export?mode=rss

なので、このページを更新してキャッシュを再取得した後、再度syncすれば治ります。

Livedoor Readerでフィード一覧からワンクリックでサイトを開くGreasemonkeyスクリプト

Livedoor Readerで使えるGreasemonkeyスクリプトを作りました。
LDR Open Site Directlyのインストールはこちらから↓
http://userscripts.org/scripts/source/60056.user.js

概要

Livedoor Readerでフィード一覧からワンクリックでサイトを新しいタブに開けるようになります。
【2010/12/21更新】 「編集」画面からでも利用できるようになりました。

主な用途

LDRには本質的に利用者にとっての様々なお気に入りサイトが集積されているにもかかわらず、「お気に入り」として活用するにはやや不便です。なぜならそのように利用しようとして、フィード一覧に目的のサイトを見つけても、一旦それを読み込んでから、ヘッダのタイトルをクリックする、という手順を踏まなければならないからです。
そこでこのグリモンを使うと、フィード一覧からワンクリックでサイトを開けるようになり、「お気に入り」としての利用がより快適になります。LDR Smart Searchboxと併用するとさらにパワーアップすると思います。

使い方

Livedoor Readerでフィード一覧中の項目を中クリックすると、そのフィードのサイトを新しいタブに開けます。
フィード一覧というのは、
  ●左の(いつも使っている)フィード一覧
  ●「編集」画面のフィード一覧。こちらでは中クリックだけでなくCtrl+左クリックでも開けます。
の二箇所のことで、どちらからでも利用できます。