ボッチが何か言ってる

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

ニコニコ動画のプレミアム会員になった

ニコニコ動画には、会員制じゃない頃からお世話になってるくせに、ずーっと無料で利用させていただいてたので、これはいけないと思って遂に昨日プレミアム登録した。

f:id:hotch_botch:20090107005608p:image

マイリスト数もとっくに限界を迎えていたので上限の増加は嬉しい、そして何より過去ログが見られるのが一番嬉しかった!

http://www.nicovideo.jp/watch/sm9 の最初の頃のコメントなんかは涙なしには見られない…!

携帯で支払おうと思ったけど、メールアドレスに『 + 』なんて文字を使っちゃってるせいか、それとも未だに vodafone ドメインだからか、何が原因かはわからないけど、何故か登録できなかったのでウェブマネー使ってみた。

あと、スクリーンショットを撮ってて気がついたけど、生年月日を一年間違って登録してた…そして修正できない…orz

2008-11-25

「ボッチが何か言ってる」の被はてブランキング

おー、これは面白い!

被はてブランキングと、そのブックマークレット

早速やってみた!…けど、ブックマーク数に 1 が並んでて悲しくなったので、とりあえず 2 回以上ブクマしてくれているユーザーさんを出してみた。

順位ブックマーカーブックマーク数タグ
1id:Ubuntu3netwatch(1)
2id:hotch_botch3はてな(2) greasemonkey(1) 勝ち組(1)
3id:ekken2ekken(1) tool(1) はてブ(1)
4id:maezono2

id:Ubuntu 伝説伊達じゃない。