2011-07-20
Greasemonkey 0.9.1 以降のバージョンで AutoPagerize Switcher が動かなくなっていたのを修正
Greasemonkey をアップデートしたら AutoPagerize Switcher が動かなくなってしまった!
と、いうわけで
修正しました。
インストールする
こちらからどうぞ。
http://userscripts.org/scripts/show/55178
何がいけなかったか
下のように window.AutoPagerize が存在するかどうかで処理を行うかの判定をしていたんだけど、どうやら Greasemonkey 0.9.1 以降ではそれぞれのスクリプト毎に window オブジェクトが別になったみたいで、AutoPagerize をインストールしているのにも関わらず window.AutoPagerize が取得できずに処理をスルーしていた。
// ==UserScript== // @name AutoPagerize Switcher // @namespace http://www.ohaco.jp/ // @description AutoPagerize をキーボードで on/off 切り替え可能にする Greasemonkey スクリプト。 // @include http://* // ==/UserScript== (function() { if(window.AutoPagerize) { // やりたい処理 } })();
どこを直したらいいか
AutoPagerizeが実行されたときに
var ev = document.createEvent('Events') ev.initEvent('GM_AutoPagerizeLoaded', false, true) window.dispatchEvent(ev)というコードが実行されてGM_AutoPagerizeLoadedという名前のイベントが送られてくるようにしました。
AutoPagerizeのスクリプト実行順序制約をなくせるようになりました « ku
なるほどー。本来はスクリプトの実行順序を気にしなくても使えるように追加されたものらしいけど、これは使えるかもしれない。
そんなわけで
下のように修正してみたところ、無事に動くようになりましたとさ。
// ==UserScript== // @name AutoPagerize Switcher // @namespace http://www.ohaco.jp/ // @description AutoPagerize をキーボードで on/off 切り替え可能にする Greasemonkey スクリプト。 // @include http://* // @include https://* // @version 1.0.1 // ==/UserScript== (function() { function init() { // やりたい処理 } if(window.AutoPagerize) { init(); } else { document.addEventListener('GM_AutoPagerizeLoaded', init(), false); } })();
2009-08-07
AutoPagerize をキーボードで on/off 切り替え可能にする Greasemonkey スクリプト
Wassr で「Autopagerize をショートカットキーでトグルする方法ないかなー」的なことを書いてる方がいて、確かにフッターメニューに用がある時とかに、いちいち右上の AutoPagerize メニューをクリックするのは面倒だなー、と思って作ってみました。
インストールする
こちらからどうぞ。
http://userscripts.org/scripts/show/55178
使い方
A で on/off の切り替えができます!
ソース
そんなに大した量でもないのでソースも載せておきます。A が気に入らなければ、キーコードを変えて、お好きなキーでどうぞ。
// ==UserScript== // @name AutoPagerize Switcher // @namespace http://www.ohaco.jp/ // @description AutoPagerize をキーボードで on/off 切り替え可能にする Greasemonkey スクリプト。 // @include http://* // ==/UserScript== (function() { if(window.AutoPagerize) { var key = 65; // a function toggle(event) { if(event.keyCode == key) { var e = document.createEvent('MouseEvents'); e.initEvent('click', true, false); var autopagerizeLink = document.evaluate('id("autopagerize_help")/div/a[@class="autopagerize_link"]', document, null, 9, null); autopagerizeLink.singleNodeValue.dispatchEvent(e); } } function addSwitch() { document.addEventListener('keydown', toggle, true); } function removeSwitch() { document.removeEventListener('keydown', toggle, true); } var allInputText = document.evaluate('//input|//textarea', document.body, null, 5, null); while(inputText = allInputText.iterateNext()) { inputText.addEventListener('focus', removeSwitch, true); inputText.addEventListener('blur', addSwitch, true); } addSwitch(); } })();
うーん
今回、dispatchEvent を使ってみたけど、それ以外になんか方法ないかなー。
2009-04-14
Wassr にキーボードショートカットを追加する Greasemonkey
Wassr を EeePC などのネットブックで読む時に、マウスがなくても楽に読めるようにと思って作ってみました。
インストールする
こちらからどうぞ。動作を確認したのは、今のところ Firefox のみです。
http://userscripts.org/scripts/show/46462
ショートカット一覧
| 次のヒトコトへ | J |
| 前のヒトコトへ | K |
| フォーカスが当たっているヒトコトのユーザーページへ | U |
| フォーカスが当たっているヒトコトにイイネを付ける | I |
| フォーカスが当たっているヒトコトのレスを開く | O |
| マイページへ | M |
| ヒトコト投稿フォームへ | H |
『フォーカスが当たっているヒトコト』というのは、J や K を押した時に、ひとつだけ緑っぽくなってるヒトコトのことです。まあ、いろいろ説明するより、とりあえず使ってみた方がわかりやすいです、きっと。
上手い具合に右手の方にキーが集中したので、マウスなしどころか、ほとんど片手で読める気がします。
一応、AutoPagerize にも対応(合わせて使うときには AutoPagerize を先に読み込む必要があります)。
上のショートカット以外にも
実は、 Wassr には、もとから用意されているショートカットがあります。
| 次のページへ | N |
| 前のページへ | P |
自分は、この Greasemonkey を作るまで全然知りませんでした。
それでは
良いワサライフを。
2009-01-07
ニコニコ動画のプレミアム会員になった
ニコニコ動画には、会員制じゃない頃からお世話になってるくせに、ずーっと無料で利用させていただいてたので、これはいけないと思って遂に昨日プレミアム登録した。
マイリスト数もとっくに限界を迎えていたので上限の増加は嬉しい、そして何より過去ログが見られるのが一番嬉しかった!
http://www.nicovideo.jp/watch/sm9 の最初の頃のコメントなんかは涙なしには見られない…!
携帯で支払おうと思ったけど、メールアドレスに『 + 』なんて文字を使っちゃってるせいか、それとも未だに vodafone ドメインだからか、何が原因かはわからないけど、何故か登録できなかったのでウェブマネー使ってみた。
2008-11-25
「ボッチが何か言ってる」の被はてブランキング
おー、これは面白い!
早速やってみた!…けど、ブックマーク数に 1 が並んでて悲しくなったので、とりあえず 2 回以上ブクマしてくれているユーザーさんを出してみた。
| 順位 | ブックマーカー | ブックマーク数 | タグ |
|---|---|---|---|
| 1 | id:Ubuntu | 3 | netwatch(1) |
| 2 | id:hotch_botch | 3 | はてな(2) greasemonkey(1) 勝ち組(1) |
| 3 | id:ekken | 2 | ekken(1) tool(1) はてブ(1) |
| 4 | id:maezono | 2 |
id:Ubuntu 伝説は伊達じゃない。

