SafariでカスタムJavascriptキーバインドを無効にできますか?


14

Emacsを使用して数十年の経験があるため、Mac OS Xでのテキスト編集用のEmacsライクなキーバインドは非常に優れています。残念ながら、一部のWebサイト(ahem)はこれらをJavascriptでオーバーライドすることを選択しています。たとえば、そのうちの1つは、1文字戻るのではなくcontrolB、テキストを挿入します**strong text**

Safariで標準のOS Xキーバインドを再マップしようとするJavascriptキーバインドを無視する方法はありますか?


一般的な方法はわかりませんが、GreaseKitを使用してWMDショートカットを無効にすることができます。参照してくださいホットキーを無効にする方法はありますか?-メタスタックオーバーフロー
リ、

リンクをありがとう!人々が十分な苦情を言わなかったからといって、彼らがそれを大丈夫だと思うのを見るのはイライラします。(私は何年もSEサイトを使用しており、音声を聞くために1日目に苦情を申し立てる必要があることに気づきませんでした。)しかし、私はWebブラウザ拡張機能を追加することをためらいますWebブラウザーの問題診断はすべて「すべての拡張機能を無効にする」です。
ケン

1
私はケンと一緒です。私は自分の手がSEサイトにいることを忘れていたので、「元に戻す」を使用しなければならなかった回数を個人的に数えることはできません:S
ephsmith

私はあなたがJavaScriptを無効に...それはあなたの問題を修正できることを示唆するつもりだったが、それは新しいものを作成した-私でしStackExchangeにもはやポストのコメント... = P
daviewales

1
このサイトに関する質問はここにありますか?またはどこでもjavascriptを無効にすることについて?バグレポートとしてメタに移動することもできますが、このサイト全体で既にいくつかのリクエストがあります。meta.stackexchange.com/questions/3245/...
bmike

回答:


7

ここでメタからのロブ・Wのスクリプトのみcntrl- *をブロックするように更新され、それがユーザースクリプトを実行するためのサファリ拡張したものですNinjaKitで動作するように固定され、。

NinjaKit:https : //github.com/os0x/NinjaKit

脚本:

// ==UserScript==
// @name           Cya WMD shortcuts
// @namespace      Rob W
// @version        1.0
// @include          http://apple.stackexchange.com/*
// @include          http://stackoverflow.com/*
// @include          http://superuser.com/*
// @include          http://meta.superuser.com/*
// @include          http://serverfault.com/*
// @include          http://meta.serverfault.com/*
// @include          http://askubuntu.com/*
// @include          http://meta.askubuntu.com/*
// @include          http://*.stackexchange.com/*
// @include          http://answers.onstartups.com/*
// @include          http://meta.answers.onstartups.com/*
// @include          http://stackapps.com/*
// @run-at         document-end
// @grant          none
// ==/UserScript==
(function () {
    var p = document.getElementById('wmd-input');
    console.log("wmd-input:" + p);
    if (p) {
        p = p.parentNode;

        function ignore(e) {
            if (e.ctrlKey) {
                e.stopPropagation();
            }
        }
        p.addEventListener('keydown', ignore, true);
        p.addEventListener('keypress', ignore, true);
        p.addEventListener('keyup', ignore, true);
    }
})();



1

使用してからしばらく経ちましたが、Privoxyプロキシサーバーにはjavascriptを変更して動作を変更する機能があります。プロキシサーバーを実行する場合は、オプションです。

私は(徹底的にではありませんが)見ましたが、privoxyのようにコンテンツ(xml、html、CSS、またはjavascript)を書き換えるブラウザプラグインは見ませんでした。PrivoxyのWebページで、js-annoyancesフィルターを探します。ここで、javascriptの書き換えの例を見つけることができます。

おそらく、同様の機能を提供するブラウザープラグインの形式で、より現代的な実装がありますが、この使用例ではprivoxyが正常に機能していました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.