Enable or disable website hotkeys using a MenuCommand
目前為
// ==UserScript==
// @name 禁用浏览器ctrl D/command D快捷键
// @namespace http://tampermonkey.net/
// @version 0.1.1
// @description 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
// ==/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);
})();