您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
*://yaohuo.me/*
// ==UserScript== // @name 妖火论坛勋章全界面覆盖(紫薇版) // @namespace https://yaohuo-me/ // @version 1.1 // @match *://yaohuo.me/* // @match *://*.yaohuo.me/* // @grant none // @license MIT // @description *://yaohuo.me/* // ==/UserScript== (function() { 'use strict'; // 全局的勋章数据集 const premiumBadges = [ { title: "F1跑车", src: "/XinZhang/upload/1000/1000_0700400.gif", animation: "f1-gentlespin" }, { title: "超级金牌", src: "bbs/medal/%E4%B8%AD%E5%9B%BD%E5%88%B6%E9%80%A0.gif", animation: "gold-subtleglow" }, { title: "财运来", src: "XinZhang/upload/1000/1000_1501480.gif", animation: "dragon-softpulse" }, { title: "百万派币", src: "bbs/medal/%E7%99%BE%E4%B8%87%E6%B4%BE%E5%B8%81.gif", animation: "money-subtlevibrance" }, { title: "屌", src: "/bbs/medal/%E5%B1%8C.gif", animation: "icon-softtwinkle" } ]; // 创建动画样式 const createStyles = () => { const styles = ` @keyframes f1-gentlespin { 0%, 100% { transform: rotateY(0deg); } 50% { transform: rotateY(15deg); } } @keyframes gold-subtleglow { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.2); } } @keyframes dragon-softpulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } @keyframes money-subtlevibrance { 0% { filter: hue-rotate(0deg); } 100% { filter: hue-rotate(20deg); } } @keyframes icon-softtwinkle { 0%, 100% { opacity: 1; } 50% { opacity: 0.9; } } .compact-badge { width: 25px !important; height: 25px !important; margin: 0 1px !important; cursor: pointer; position: relative; transition: all 0.3s ease; object-fit: contain; display: inline-block !important; vertical-align: middle !important; } .compact-badge:hover { transform: scale(1.1); z-index: 100; transition: transform 0.3s ease; } `; const styleTag = document.createElement('style'); styleTag.textContent = styles; document.head.appendChild(styleTag); }; // 向指定容器插入勋章 const insertBadgesToContainer = (container, badges) => { if (!container) return; // 创建勋章文档片段 const fragment = document.createDocumentFragment(); badges.forEach(badge => { const badgeElement = document.createElement('img'); badgeElement.className = 'compact-badge'; badgeElement.src = badge.src; badgeElement.alt = badge.title; badgeElement.title = badge.title; badgeElement.style.animation = `${badge.animation} 6s infinite linear`; fragment.appendChild(badgeElement); }); // 批量插入到容器顶部 container.insertBefore(fragment, container.firstChild); }; // 初始化操作 const init = () => { createStyles(); // 同时增强两个区域的勋章展示效果 const targets = [ { selector: '.xunzhangtupian', // 主帖勋章区 badges: premiumBadges }, { selector: '#medals span[name="mymedals"]', // "我的勋章"区域 badges: premiumBadges } ]; targets.forEach(target => { const container = document.querySelector(target.selector); if (container) { insertBadgesToContainer(container, target.badges); } }); // 添加点击效果 document.addEventListener('click', function(e) { if (e.target.classList.contains('compact-badge')) { const badge = e.target; const originalAnim = badge.style.animation; badge.style.animation = 'none'; setTimeout(() => { badge.style.animation = originalAnim; }, 300); } }); }; // 页面加载完成后执行 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();