OpenMediaVault close modal on Esc

8/7/2025, 9:20:32 AM

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        OpenMediaVault close modal on Esc
// @namespace   Violentmonkey Scripts
// @match       *://omv.*/*
// @license     MIT
// @version     1.0
// @author      RDD
// @description 8/7/2025, 9:20:32 AM
// ==/UserScript==

window.addEventListener('load', (event) => window.addEventListener('keydown', OnKeyPressed), true);

const EscapePressed = () => {
  const closeSpan = Array.from(document.querySelectorAll('span.mat-button-wrapper')).find(span => span.textContent.trim() === 'Close');
  if (closeSpan) {
    const button = closeSpan.closest('button');
    if (button) {
      button.click();
    }
  }
};

// Event listener function for the Escape key.
const OnKeyPressed = (event) => {
  event.key === 'Escape' && EscapePressed();
};