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.20250514120038
// @namespace https://greatest.deepsurf.us/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._8f60047');
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 });
})();