WikiEditor Flash-Bang Protector

Anti-Flash-Bang script for dark mode editor fix CSS

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         WikiEditor Flash-Bang Protector
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  Anti-Flash-Bang script for dark mode editor fix CSS
// @author       Kaesinol
// @match        https://*.wikipedia.org/w/index.php?*action=edit*
// @match        https://*.wikipedia.org/w/index.php?*action=submit*
// @grant        GM_addStyle
// @icon         https://en.wikipedia.org/favicon.ico
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // 预注入样式:只隐藏内容,保留占位,防止脚本逻辑冲突
    const css = `
        .gm-safe-hide {
            visibility: hidden !important;
            opacity: 0 !important;
            pointer-events: none !important;
            height: 0px !important;
        }
    `;

    if (typeof GM_addStyle !== 'undefined') {
        GM_addStyle(css);
    } else {
        const style = document.createElement('style');
        style.textContent = css;
        document.head.append(style);
    }

    const checkInterval = setInterval(() => {
        const targetFrame = document.querySelector('#wikEdFrame');
        const editorUI = document.querySelector('div.wikiEditor-ui');

        if (editorUI) {
            if (!targetFrame) {
                editorUI.classList.add('gm-safe-hide');
            } else if(document.querySelector('#wikEdFrame').contentDocument.documentElement.innerText!==''){
                editorUI.classList.remove('gm-safe-hide');
                clearInterval(checkInterval);
            }
        }
    }, 500);
})();