您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Double-tap to close active articles and auto-scroll to the active article in FreshRSS.
当前为
// ==UserScript== // @name FreshRSS Double-Tap and Auto-Scroll // @namespace http://tampermonkey.net/ // @version 1.0 // @description Double-tap to close active articles and auto-scroll to the active article in FreshRSS. // @author Your Name // @homepage https://gf.qytechs.cn/en/scripts/525817 // @match http://192.168.1.2:1030/* // @grant none // ==/UserScript== (function () { 'use strict'; // Double-tap event to close active articles document.addEventListener('dblclick', function (event) { // Check if the double-tap is on an interactive element const interactiveElements = ['A', 'BUTTON', 'INPUT', 'TEXTAREA', 'SELECT', 'LABEL']; if (interactiveElements.includes(event.target.tagName)) { return; // Ignore double-taps on interactive elements } // Find the closest element with both 'current' and 'active' classes const activeElement = event.target.closest('.current.active'); if (activeElement) { // Remove the 'active' class activeElement.classList.remove('active'); // console.log('Removed "active" class from:', activeElement); // Scroll the page to the closed article (activeElement) activeElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); } }); // Automatically scroll to the active article when it gains the 'active' class const observeActiveElements = () => { // Set up a MutationObserver to watch for changes to the 'active' class const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === 'attributes' && mutation.attributeName === 'class') { const targetElement = mutation.target; if (targetElement.classList.contains('active')) { // Scroll the active element into view targetElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); } } }); }); // Observe all elements with the 'current' class (potential candidates for 'active') const currentElements = document.querySelectorAll('.current'); currentElements.forEach((element) => { observer.observe(element, { attributes: true }); }); }; // Start observing for changes observeActiveElements(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址