您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
向頁面批量注入按鈕並進行函數綁定
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/453745/1525479/Web%E6%8C%89%E9%88%95%E6%B3%A8%E5%85%A5.js
// ==UserScript== // @name Web按鈕注入 // @namespace // @version 2.0.0 // @description 向頁面批量注入按鈕並進行函數綁定 // @author otc // @match * // @license MIT // ==/UserScript== // 设置容器默认样式 function getDefaultContainerStyles() { return { position: 'fixed', top: '0', left: '0', display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', width: '5px', // 默认宽度 height: '100%', // 全屏高度 backgroundColor: 'rgba(0, 0, 0, 0.1)', // 半透明背景 transition: 'width 0.3s ease', // 动画效果 overflow: 'hidden', // 隐藏超出部分 zIndex: 10000, }; } // 创建或获取容器 function getOrCreateButtonContainer() { let container = document.querySelector('.ocr-buttons-container'); if (!container) { container = document.createElement('div'); container.className = 'ocr-buttons-container'; // 应用默认样式 const styles = getDefaultContainerStyles(); for (const [key, value] of Object.entries(styles)) { container.style[key] = value; } // 创建删除按钮 const deleteButton = document.createElement('button'); deleteButton.className = 'delete-button'; deleteButton.innerHTML = '<span class="button-text">×</span>'; // 使用 span 包裹文字 deleteButton.style.position = 'absolute'; deleteButton.style.top = '10px'; deleteButton.style.right = '-30px'; // 初始位置在容器外 deleteButton.style.padding = '5px 10px'; deleteButton.style.fontSize = '14px'; deleteButton.style.border = 'none'; // deleteButton.style.background = 'rgba(255, 255, 255, 0.8)'; deleteButton.style.background = 'rgba(222, 55, 48, 0.8)'; deleteButton.style.color = '#fff'; deleteButton.style.borderRadius = '5px'; deleteButton.style.cursor = 'pointer'; deleteButton.style.transition = 'right 0.3s ease'; deleteButton.addEventListener('click', () => { container.remove(); // 删除整个容器 }); container.appendChild(deleteButton); // 鼠标悬停事件 container.addEventListener('mouseenter', () => { container.style.width = '150px'; // 展开宽度 deleteButton.style.right = '10px'; // 显示删除按钮 container.querySelectorAll('.button-text').forEach(text => { text.style.opacity = 1; // 显示文字 }); clearTimeout(container.hideTimeout); // 清除之前的定时器 }); // 鼠标移出事件 container.addEventListener('mouseleave', () => { container.hideTimeout = setTimeout(() => { container.style.width = '5px'; // 收起宽度 deleteButton.style.right = '-30px'; // 隐藏删除按钮 container.querySelectorAll('.button-text').forEach(text => { text.style.opacity = 0; // 隐藏文字 }); }, 1000); // 1秒后收起 }); document.body.appendChild(container); } return container; } // 创建按钮 function createButtons(buttons) { const container = getOrCreateButtonContainer(); buttons.forEach((button, index) => { const buttonElement = document.createElement('button'); buttonElement.innerHTML = `<span class="button-text">${button.name}</span>`; // 使用 span 包裹文字 buttonElement.style.margin = '2px 0'; buttonElement.style.width = '140px'; buttonElement.style.border = 'none'; buttonElement.style.background = '#007bff'; buttonElement.style.color = '#fff'; buttonElement.style.borderRadius = '4px'; buttonElement.style.fontSize = '14px'; buttonElement.style.cursor = 'pointer'; buttonElement.style.transition = 'background 0.2s ease'; // 隐藏文字的样式 const buttonText = buttonElement.querySelector('.button-text'); buttonText.style.opacity = 0; // 默认隐藏文字 buttonText.style.transition = 'opacity 0.3s ease'; buttonElement.addEventListener('mouseover', () => { buttonElement.style.background = '#0056b3'; }); buttonElement.addEventListener('mouseout', () => { buttonElement.style.background = '#007bff'; }); buttonElement.addEventListener('click', button.func); container.appendChild(buttonElement); }); } // #region例子: // function funca (){ // console.log("funca"); // } // function funcb (){ // console.log("funcb"); // } // // 调用 createButtons 函数创建按钮,传入一个包含函数和按钮名的列表 // const buttons = [ // { name: 'funca', func: funca }, // { name: 'funcb', func: funcb } // ]; // createButtons(buttons); // #endregion
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址