自动删除页面上所有mouseout事件侦听器
// ==UserScript== // @name 移除超星学习通课程页面的鼠标检测 // @namespace Ladland // @version 1.0 // @description 自动删除页面上所有mouseout事件侦听器 // @author Ladland // @match *://mooc1.chaoxing.com/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 重写EventTarget的addEventListener方法 const originalAddEventListener = EventTarget.prototype.addEventListener; EventTarget.prototype.addEventListener = function(type, listener, options) { if (type === 'mouseout') { console.log('阻止mouseout事件侦听器添加:', listener); // 不执行添加mouseout事件侦听器的操作 return; } return originalAddEventListener.call(this, type, listener, options); }; // 重写EventTarget的removeEventListener方法 const originalRemoveEventListener = EventTarget.prototype.removeEventListener; EventTarget.prototype.removeEventListener = function(type, listener, options) { if (type === 'mouseout') { console.log('阻止mouseout事件侦听器移除:', listener); // 不执行移除mouseout事件侦听器的操作 return; } return originalRemoveEventListener.call(this, type, listener, options); }; // 获取页面上所有元素 const elements = document.querySelectorAll('*'); // 遍历元素,移除mouseout事件侦听器 elements.forEach(element => { const listeners = getEventListeners(element).mouseout; if (listeners) { listeners.forEach(listener => { element.removeEventListener('mouseout', listener.listener); }); } }); })();