🏠 返回首頁 

Greasy Fork is available in English.

DeepSeek No Auto-Scroll

Block auto-scroll in DeepSeek while keeping manual scroll control

// ==UserScript==
// @name         DeepSeek No Auto-Scroll
// @description  Block auto-scroll in DeepSeek while keeping manual scroll control
// @match        *://*.deepseek.com/*
// @version 0.0.1.20250318101211
// @namespace https://greasyfork.org/users/1435046
// ==/UserScript==
(function() {
'use strict';
// Function to apply the scroll behavior override
function applyNoAutoScroll(scrollContainer) {
// Block auto-scroll attempts while keeping manual control
Object.defineProperty(scrollContainer, 'scrollTop', {
set: function() {}, // Empty setter blocks programmatic scroll
get: () => scrollContainer._realScrollTop || 0, // Preserve actual position
configurable: true
});
// Store real scroll position
scrollContainer.addEventListener('scroll', () => {
scrollContainer._realScrollTop = scrollContainer.scrollTop;
});
}
// Watch for the target element using MutationObserver
const observer = new MutationObserver(() => {
const scrollContainer = document.querySelector('div.f6004764');
if (scrollContainer) {
observer.disconnect(); // Stop observing once the element is found
applyNoAutoScroll(scrollContainer);
}
});
// Start observing the DOM for changes
observer.observe(document.body, { childList: true, subtree: true });
})();