您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Robust scroll blocking with multiple fallbacks
当前为
- // ==UserScript==
- // @name Deepseek No Auto-Scroll (Stable)
- // @description Robust scroll blocking with multiple fallbacks
- // @match *://*.deepseek.com/*
- // @version 0.0.1.20250316190240
- // @namespace https://greasyfork.org/users/1435046
- // ==/UserScript==
- (function() {
- 'use strict';
- const SCROLL_SELECTORS = [
- '[class*="overflow-auto"]', // Class contains "overflow-auto"
- '[class*="scroll-container"]', // Class contains "scroll-container"
- 'main > div > div', // Structural fallback
- 'div[style*="overflow"]' // Inline style overflow
- ];
- let activeContainer = null;
- const blockScroll = (container) => {
- if(container.__scrollBlocked) return;
- // Nuclear option: Remove all scroll behaviors
- container.style.overflow = 'hidden !important';
- container.style.overscrollBehavior = 'none !important';
- // Block all scroll methods
- const scrollMethods = ['scrollTo', 'scrollBy', 'scrollIntoView'];
- scrollMethods.forEach(method => {
- container[method] = () => {};
- });
- // Prevent wheel/touch events
- container.addEventListener('wheel', e => e.stopPropagation(), true);
- container.addEventListener('touchmove', e => e.stopPropagation(), true);
- container.__scrollBlocked = true;
- };
- const findScrollContainer = () => {
- return SCROLL_SELECTORS.reduce((found, selector) => {
- return found || document.querySelector(selector);
- }, null);
- };
- const initScrollBlock = () => {
- const newContainer = findScrollContainer();
- if(newContainer && newContainer !== activeContainer) {
- activeContainer = newContainer;
- blockScroll(newContainer);
- }
- };
- // Run every 500ms + on mutations
- setInterval(initScrollBlock, 500);
- new MutationObserver(initScrollBlock).observe(document.body, {
- childList: true,
- subtree: true,
- attributes: true
- });
- })();