// ==UserScript== // @name 返回顶部按钮 // @namespace http://tampermonkey.net/ // @version 0.2 // @description 在 https://linux.do/t/topic/ 页面添加返回顶部按钮 // @author Steve5wutongyu6 // @match https://linux.do/t/topic/* // @grant none // @license MIT // @downloadURL https://update.greasyfork.cloud/scripts/523660/%E8%BF%94%E5%9B%9E%E9%A1%B6%E9%83%A8%E6%8C%89%E9%92%AE.user.js // @updateURL https://update.greasyfork.cloud/scripts/523660/%E8%BF%94%E5%9B%9E%E9%A1%B6%E9%83%A8%E6%8C%89%E9%92%AE.meta.js // ==/UserScript== (function() { 'use strict'; // 创建返回顶部按钮 function createBackToTopButton() { const backToTopButton = document.createElement('button'); backToTopButton.className = 'btn btn-icon-text btn-small'; backToTopButton.title = '返回顶部'; backToTopButton.innerHTML = ` 返回顶部 `; // 添加点击事件 backToTopButton.addEventListener('click', () => { window.scrollTo({ top: 0, behavior: 'smooth' }); }); return backToTopButton; } // 添加按钮到页面 function addBackToTopButton() { const footerControls = document.querySelector('.timeline-footer-controls'); if (footerControls && !footerControls.querySelector('.back-to-top-button')) { const backToTopButton = createBackToTopButton(); backToTopButton.classList.add('back-to-top-button'); // 添加自定义类名以便识别 footerControls.appendChild(backToTopButton); } } // 定期检查并添加按钮 setInterval(addBackToTopButton, 1000); // 每 1 秒检查一次 // 添加一些样式以确保按钮看起来合适 const style = document.createElement('style'); style.textContent = ` .btn-small { padding: 5px 10px; font-size: 12px; } .d-icon-arrow-up { width: 16px; height: 16px; } `; document.head.appendChild(style); })();