您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
任意页面左右侧边缘下拉手势可清除一些恼人的悬浮广告元素,并停止相关计时器,适用于移动设备浏览器。
// ==UserScript== // @name 边缘下拉清除悬浮广告 // @version 2.0 // @description 任意页面左右侧边缘下拉手势可清除一些恼人的悬浮广告元素,并停止相关计时器,适用于移动设备浏览器。 // @author ChatGPT // @match *://*/* // @run-at document-end // @grant none // @namespace https://greasyfork.org/users/452911 // ==/UserScript== // 配置参数 var triggerDistance = window.innerWidth / 15; // 边缘触发距离,单位 px var triggerHeight = window.innerHeight / 3; // 下拉触发高度,单位 px // 监听触屏下拉手势事件 document.addEventListener('touchstart', function(e) { // 获取手指位置和屏幕宽度、高度 var touchX = e.touches[0].pageX; var touchY = e.touches[0].pageY; var screenWidth = window.innerWidth; var screenHeight = window.innerHeight; // 计算左右边缘触发位置和上方触发位置 var leftTrigger = triggerDistance; var rightTrigger = screenWidth - triggerDistance; var topTrigger = triggerHeight; // 判断手指是否在左侧或右侧边缘触发位置或上方触发位置下拉 if (touchX < leftTrigger || touchX > rightTrigger || touchY < topTrigger) { var startY = e.touches[0].clientY; var isScrolled = false; // 监听触屏手势滑动事件 document.addEventListener('touchmove', function(e) { var endY = e.changedTouches[0].clientY; var distance = endY - startY; // 判断向下滑动距离是否大于指定的下拉距离 if (distance > triggerHeight && !isScrolled) { isScrolled = true; // 删除广告并清除计时器 var elementsToRemove = Array.from(document.querySelectorAll('*')).filter(function(el) { var zIndex = parseInt(getComputedStyle(el).zIndex); return zIndex > 500; }); elementsToRemove.forEach(function(el) { el.parentNode.removeChild(el); }); setTimeout(function() { for(var i = 1; i < 99; i++) { clearInterval(i); clearTimeout(i); } }, 0); } }); // 监听触屏手势结束事件和取消事件 document.addEventListener('touchend', function(e) { isScrolled = false; }); document.addEventListener('touchcancel', function(e) { isScrolled = false; }); } });