Greasemonkey(グリースモンキー)のスクリプト作成してみた

現在開いているページのアンカーをリストに表示します。
リストからenterキーで選択するとそのアンカーにフォーカスが移ります。

anchorlistuser.js

※動作には(もちろん)Greasemonkey(グリースモンキー)が必要です。

画面はこんな感じ
anchorlistuser.jpg

キー操作
ctrl+F11:リストの表示/非表示
j:1行下に移動
k:1行上に移動
ctrl+f:30行下に移動
ctrl+b:30行上に移動
ctrl+d:10行下に移動
ctrl+u:10行上に移動
shit+g:指定行に移動
enter:選択(フォーカスがアンカーに移ります)

矢印キーでも操作できますが、リストに合わせて画面はスクロールしません。

ブラウザでもキー操作したい人向け。

@includeを*指定しているのですべてのページで呼びさせます。

JavaScript多用しているページとは相性悪いです。
大抵動作しますがまだ未完成なので不具合あります。

未実装項目
1)アンカーのtop位置取得(できるのかな?)
2)画面に表示されている分だけのアンカーリスト
3)スクロールバーの幅取得

1できないと2もできない。誰か教えて下さい。

このスクリプトを使用したことによりいかなる損害が発生し
ても、作者はその責を負いません。また、バグ・不具合等に関してはできるだけ
善処したいと思いますが、対応する義務はないものとします。

4件のコメント

  1. itochanさん
    OperaのLinksを見た事ないのですが
    同じようなものだと思います。

    気付いたのですが、拡張機能に近いものがありました。

    CrossFire
    http://tkm.s31.xrea.com/xul/crossfire.shtml

    firefox 1.5系にはインストールできない様ですが、こちらの方が使いやすそうです。

  2. ぜんさん情報ありがとうございます。

    現在はご指摘どおりoffsetTopで取得しています。
    ※値の取得自体にはidを必要としません。

    しかし表示されている位置の値が取得できるとは限っていないようです。
    スタイルシート等でelementの位置情報を調整している場合などダメな様です。
    この問題に関してはCrossFireも対応できていないみたいです。

コメントを残す

メールアドレスが公開されることはありません。