// ==UserScript== // @name 禁用浏览器ctrl D/command D快捷键 // @name:en Disable browser ctrl D/command D shortcuts // @namespace http://tampermonkey.net/ // @version 0.1.2 // @description Enable or disable website hotkeys using a MenuCommand // @description:en Enable or disable website hotkeys using a MenuCommand // @author aspen138 // @match http://*/* // @match https://*/* // @grant GM_registerMenuCommand // @grant GM_getValue // @grant GM_setValue // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Retrieve hotkeysEnabled state from storage or default to true let hotkeysEnabled = GM_getValue('hotkeysEnabled', true); // Function to toggle the state of hotkeysEnabled function toggleHotkeys() { hotkeysEnabled = !hotkeysEnabled; GM_setValue('hotkeysEnabled', hotkeysEnabled); // Save the new state to storage console.log('Hotkeys are now ' + (hotkeysEnabled ? 'enabled' : 'disabled')); alert('Hotkeys are now ' + (hotkeysEnabled ? 'enabled' : 'disabled')); } // Add menu command to toggle hotkeys GM_registerMenuCommand("Toggle Hotkeys", toggleHotkeys, 't'); // Event listener to catch keydown events and prevent them if hotkeys are disabled document.addEventListener('keydown', function(e) { if(!hotkeysEnabled) { // Prevent default action for Ctrl+D or Command+D if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === 'd') { e.preventDefault(); // Prevent the default action e.stopPropagation(); // Stop the event from propagating to other handlers } } }, true); })();