Disable website keyboard hooks

Stop websites from hijacking keyboard shortcuts.

  1. // ==UserScript==
  2. // @name Disable website keyboard hooks
  3. // @description Stop websites from hijacking keyboard shortcuts.
  4. // @author Isaac Levy, Jonas Singe
  5. // @run-at document-start
  6. // @include *
  7. // @grant none
  8. // @version 0.0.2
  9. // @namespace https://github.com/isaacl/keycodeScript
  10. // ==/UserScript==
  11.  
  12. // Disable these keys when no keyboard modifier is pressed
  13. var std_keycodes = new Set([
  14. // Add keycodes as desired
  15. 37, 38, 39, 40 // Arrow Keys.
  16. ]);
  17.  
  18. // Disable these keys when Meta key is pressed.
  19. var meta_keycodes = new Set([
  20. // Add keycodes as desired
  21. 70 // Ctrl + F
  22. ]);
  23.  
  24. // Disable these keys when Alt key is pressed.
  25. var alt_keycodes = new Set([
  26. // Add keycodes as desired
  27. 83 // Alt + S
  28. ]);
  29.  
  30.  
  31. // Don't change below this line.
  32.  
  33. var isMac = navigator.platform.indexOf('Mac') >= 0;
  34.  
  35.  
  36. document.addEventListener('keydown', function(e) {
  37. var keycode_set;
  38. if (isMac ? e.metaKey : e.ctrlKey) {
  39. keycode_set = meta_keycodes;
  40. } else if (e.altKey) {
  41. keycode_set = alt_keycodes;
  42. } else {
  43. keycode_set = std_keycodes;
  44. }
  45.  
  46. if (keycode_set.has(e.keyCode)) {
  47. e.stopImmediatePropagation();
  48. }
  49. return false;
  50. });

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址