現在開いているページのアンカーをリストに表示します。
リストから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 Responses to Greasemonkey(グリースモンキー)のスクリプト作成してみた

Avatar

itochan

9月 16th, 2006 at 13:42:41

OperaのLinksパネルみたいなものかな?

Avatar

t

9月 17th, 2006 at 20:57:12

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

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

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

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

Avatar

ぜん

11月 12th, 2006 at 18:55:49

アンカーにidが振られているなら、offsetTopで取得できると思いますよ。

Avatar

t

11月 14th, 2006 at 10:16:15

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

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

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

Comment Form

About this blog

ソフトウェア開発、アジャイルなどについてSE兼PGが思った事を書いてます。たまにプログラムも