您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在 linux.do 帖子页面右下角添加一个“翻至末尾”按钮,点击后自动滚动,直到页脚元素可见时停止。
当前为
// ==UserScript== // @name Linux.do 自动滚动到底部 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 在 linux.do 帖子页面右下角添加一个“翻至末尾”按钮,点击后自动滚动,直到页脚元素可见时停止。 // @author Gemini // @match https://linux.do/t/topic/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // 创建按钮 const scrollToBottomButton = document.createElement('button'); scrollToBottomButton.textContent = '翻至末尾'; Object.assign(scrollToBottomButton.style, { position: 'fixed', bottom: '20px', right: '20px', zIndex: '9999', padding: '10px 15px', backgroundColor: '#007bff', color: 'white', border: 'none', borderRadius: '5px', cursor: 'pointer', boxShadow: '0 2px 5px rgba(0,0,0,0.2)' }); document.body.appendChild(scrollToBottomButton); let scrollInterval = null; function isElementInViewport(el) { if (!el) { return false; } const rect = el.getBoundingClientRect(); return ( rect.top < (window.innerHeight || document.documentElement.clientHeight) && rect.bottom >= 0 ); } scrollToBottomButton.addEventListener('click', () => { if (scrollInterval) { clearInterval(scrollInterval); scrollInterval = null; scrollToBottomButton.textContent = '翻至末尾'; scrollToBottomButton.style.backgroundColor = '#007bff'; return; } scrollToBottomButton.textContent = '滚动中...'; scrollToBottomButton.style.backgroundColor = '#dc3545'; scrollInterval = setInterval(() => { // 步骤1:滚动到当前文档底部 window.scrollTo(0, document.body.scrollHeight); // --- 主要修改点 --- // 步骤2:等待一小段时间(例如 250 毫秒),让网站有时间加载新内容 setTimeout(() => { // 如果在此期间用户点击了停止,就不再执行检查 if (!scrollInterval) { return; } // 步骤3:延迟之后,再检查页脚元素是否可见 const footerElement = document.querySelector('#ember51'); if (isElementInViewport(footerElement)) { clearInterval(scrollInterval); scrollInterval = null; scrollToBottomButton.textContent = '已到底部'; scrollToBottomButton.style.backgroundColor = '#28a745'; console.log('检测到页脚,停止滚动。'); setTimeout(() => { scrollToBottomButton.textContent = '翻至末尾'; scrollToBottomButton.style.backgroundColor = '#007bff'; }, 3000); } }, 250); // <-- 增加 250 毫秒的延迟 }, 1000); // 滚动间隔保持 1 秒 }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址