Как предотвратить страницы, которые я посещаю, от переопределения выбранных сочетаний клавиш Firefox?

В Firefox, как я могу предотвратить переполнение страниц Firefox встроенными сочетаниями клавиш через Javascript для каждого ключа? Предпочтительно также для каждого сайта? Самое неприятное переопределение – это косая черта ('/'), связанная с «Поиск на странице». Сайты, такие как результаты поиска Google, временные рамки Twitter, некоторые вики-сайты и другие страницы, крадут ключ косой черты для своих собственных полей поиска, что совершенно неверно.

Поскольку мой представитель позволяет мне задавать вопросы, редактировать и отвечать на вопросы, но не добавлять комментарии, это в основном дубликат этих двух других вопросов, на которые не ответил должным образом:

  • Google Chrome: есть ли комбинация клавиш для открытия ссылки на новой вкладке?
  • Есть ли ярлык для «Отметить все сообщения как прочитанные» в Outlook?
  • Скрытые символы, вставленные после трубы (|), а затем пробел
  • Ярлык клавиатуры для перехода в текстовое поле в Google Chrome
  • Chrome OmniBbb ярлык, F6 против Alt-D против Ctrl-L?
  • Невозможно использовать Cmd + Enter на странице результатов Google, чтобы открывать ссылки на новых вкладках после обновления до Yosemite
  • Как остановить сайт для переопределения коротких сокращений на клавиатуре

    Firefox: запретить веб-сайтам отменять ключ / (косая черта)

  • Как искать текст во всех вкладках в Firefox?
  • «Java недоступен» в Firefox 32 бита
  • Горячая клавиша для панели инструментов закладки в Firefox
  • Значок фунта в Windows на MBP с клавиатурой США
  • Автоматическое сохранение всех посещенных страниц в Firefox
  • Удалить пользовательский поиск Firefox
  • 4 Solutions collect form web for “Как предотвратить страницы, которые я посещаю, от переопределения выбранных сочетаний клавиш Firefox?”

    Что касается Google и быстрого поиска, вы можете установить этот сценарий Greasemonkey:

    http://userscripts-mirror.org/scripts/show/132237

    Как говорится в описании, оно «останавливает Google от фокусировки входа поиска при каждом нажатии клавиши» – в частности, если вы нажмете / с фокусом клавиатуры вне окна поиска, появится Quick Find, как это будет на других веб-сайтах.

    Я только установил его, не касаясь кода, но я думаю, что он может быть легко адаптирован для работы с другими сайтами и / или другими ярлыками.

    Основываясь на ответе edymtt, я создал usercript, который отключает только определенные сочетания клавиш. Вы можете добавить дополнительные ярлыки для отключения, добавив коды ключей в массив ключей или ограничив, к каким сайтам применить его, заменив тег @include одним или несколькими шаблонами.

    Установите с помощью greasemonkey .

     // ==UserScript== // @name Disable keyboard shortcuts // @description Stop websites from highjacking keyboard shortcuts // // @run-at document-start // @include * // @grant none // ==/UserScript== keycodes = [191] // Keycode for '/', add more keycodes to disable other key captures document.addEventListener('keydown', function(e) { // alert(e.keyCode); //uncomment to find out the keycode for any given key if (keycodes.indexOf(e.keyCode) != -1) { e.cancelBubble = true; e.stopImmediatePropagation(); } return false; }); 

    Вот более общий сценарий – вы можете определить любое количество событий нажатия клавиш для отключения.

    https://greasyfork.org/en/scripts/5819-disable-website-keyboard-hooks

     // ==UserScript== // @name Disable website keyboard hooks // @description Stop websites from hijacking keyboard shortcuts. // @author Isaac Levy // @run-at document-start // @include * // @grant none // @version 0.0.1 // @namespace https://isaacrlevy.com // ==/UserScript== var keycodes = [ // Add keycodes as desired, keep sorted. 37, 38, 39, 40 // Arrow keys. ] var meta_keycodes = [ // Disable these when meta key is pressed. 70 ]; // Don't change below this line. var isMac = navigator.platform.toLowerCase().indexOf('mac') >= 0; // Create a fast lookup. // This saves work during normal typing. Maybe unnecessary. var keycode_offset = keycodes[0]; var keycode_arr = Array(keycodes[keycodes.length - 1] - keycode_offset) for (var i = 0, len = keycodes.length; i < len; i++) { keycode_arr[keycodes[i] - keycode_offset] = true; } document.addEventListener('keydown', function(e) { //console.log(e); if ((isMac && e.metaKey) || (!isMac && e.ctrlKey)) { if (meta_keycodes.indexOf(e.keyCode) >= 0) { e.stopImmediatePropagation(); } } else if (keycode_arr[e.keyCode - keycode_offset]) { e.stopImmediatePropagation(); } return false; }); 

    Надстройка YesScript была для меня свободным решением. Это предотвращает запуск JavaScript, но только сайты, которые вы выбираете. В большинстве случаев эти сайты захватывают ярлыки клавиш JavaScript. Я нашел об этом в этой статье Ghacks.net.

    Давайте будем гением компьютера.