您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto Close Popups for Learning Site & Block Mouse Leave Popup Improved
当前为
// ==UserScript== // @name Remove mouse restrictions and automatically close pop-up windows in moxueyuan // @namespace https://mbt.jd.com/cards/ffksimple/home.html?channelName=wdqb_sy_icon&do_not_click_on_me // @namespace https://t.me/mycutcbot // @version 0.22 // @description Auto Close Popups for Learning Site & Block Mouse Leave Popup Improved // @author ziqs // @match *://*.study.moxueyuan.com/* // @grant none // @license GPL-3.0-or-later // ==/UserScript== (function() { 'use strict'; // 定義一個阻止事件的函數 function preventEvent(e) { e.stopImmediatePropagation(); e.preventDefault(); } // 監聽 `mouseleave`, `mouseout`, 和 `blur` 事件 ['mouseleave', 'mouseout', 'blur'].forEach(eventType => { window.addEventListener(eventType, preventEvent, true); document.addEventListener(eventType, preventEvent, true); }); // 定時移除動態新增的事件監聽器 const observer = new MutationObserver(() => { document.querySelectorAll('*').forEach(element => { try { element.onmouseleave = null; element.onmouseout = null; element.onblur = null; } catch (error) { console.error(`Error clearing event listeners on ${element}`, error); } }); }); // 開始監聽 DOM 變化 observer.observe(document.body, { childList: true, subtree: true }); })(); (function() { 'use strict'; // 監聽 <body> 的類別名稱變化 const observer = new MutationObserver((mutationsList) => { for (const mutation of mutationsList) { if (mutation.type === 'attributes' && mutation.attributeName === 'class') { const bodyClass = document.body.className; // 檢查是否包含 el-popup-parent--hidden 類 if (bodyClass.includes('el-popup-parent--hidden')) { console.log('Popup detected, attempting to click "I am here" button after delay'); // 延遲 5 秒點擊按鈕 setTimeout(() => { // 尋找所有符合條件的按鈕 const buttons = document.querySelectorAll('.dialog-footer-cancel'); for (const button of buttons) { if (button.textContent.includes('我在')) { button.click(); console.log('"I am here" button clicked after 5 seconds'); break; } } }, 5000); // 5秒延遲(5000毫秒) } } } }); // 開始監聽 <body> 的屬性變化 observer.observe(document.body, { attributes: true }); })();