ExamTopics Popup Remover and Right-Click Enabler

Hides the "notRemoverPopup" and enables right-click on examtopics.com

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         ExamTopics Popup Remover and Right-Click Enabler
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Hides the "notRemoverPopup" and enables right-click on examtopics.com
// @author       Aruna Telshan
// @match        https://www.examtopics.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    function hidePopup() {
        const popup = document.getElementById('notRemoverPopup');
        if (popup) {
            popup.style.display = 'none';
        }
    }

    function enableRightClick() {
        document.addEventListener('contextmenu', function(e) {
            e.stopPropagation();
            e.stopImmediatePropagation();
            e.returnValue = true;
            return true;
        }, true);
        document.addEventListener('mousedown', function(e) {
            if (e.button === 2) {
                e.stopPropagation();
                e.stopImmediatePropagation();
                e.returnValue = true;
                return true;
            }
        }, true);
        document.addEventListener('mouseup', function(e) {
            if (e.button === 2) {
                e.stopPropagation();
                e.stopImmediatePropagation();
                e.returnValue = true;
                return true;
            }
        }, true);
        document.addEventListener('click', function(e) {
            if (e.button === 2) {
                e.stopPropagation();
                e.stopImmediatePropagation();
                e.returnValue = true;
                return true;
            }
        }, true);

        // Remove potential inline event handlers that might be blocking right-click.
        document.querySelectorAll('*').forEach(function(element) {
            element.oncontextmenu = null;
            element.onmousedown = null;
            element.onmouseup = null;
            element.onclick = null;
        });

    }

    hidePopup();
    enableRightClick();

    const observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            hidePopup();
        });
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

})();