2

漠然としたタイトルですが、次のように、カスタムキーイベントをオブジェクトにバインドして、組み合わせキーの押下documentをキャッチしています。AltR

document.body.onkeydown = function(event){
    event = event || window.event;
    var keycode = event.charCode || event.keyCode;
    if (keycode === 82) {
        if (event.altKey) {
            if (!canReload) {
                canReload = true;
                window.location.href += "#doGreaseRefresh";
            } else {
                canReload = false;
                window.location.href = window.location.href.replace("#doGreaseRefresh", "");
            }

            return false;
        }
    }
}

コードは期待どおりに実行されますが、かなり迷惑な「ビープ音」も生成されます。どうすればこれを防ぐことができますか?return false答えがわからなかったので、それも可能かと思います。

ああ、不思議に思うかもしれませんが、これはChromeユーザースクリプト(コンテンツスクリプト)にあり、を押すとStack Overflowのホームページを10秒ごとに更新し、もう一度押すと更新AltRを停止AltRします。:)

4

2 に答える 2

1

ビープ音を止められないのは明らかにChromeのバグです:http ://code.google.com/p/chromium/issues/detail?id=105500 。return falseFirefoxではビープ音なしで動作します。

乾杯-

于 2012-05-12T18:22:13.037 に答える
1

ZachBが指摘しているように、これはChromeのバグのようです。

この煩わしさを回避するには:

  1. Windowsのコントロールパネルに移動します。
  2. サウンドまたはシステムサウンドを選択します
  3. (None)のサウンドを割り当てDefault Beepます。
    (私はとにかくこれをするのが好きです、なぜならそれはそれが役に立つより50倍迷惑だからです)。
于 2012-05-13T02:31:42.683 に答える