您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
给dabanke股票表格添加复制按钮,复制股票代码到剪贴板
// ==UserScript== // @name 打板客网股票代码复制插件 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 给dabanke股票表格添加复制按钮,复制股票代码到剪贴板 // @match https://dabanke.com/* // @grant GM_setClipboard // @icon https://dabanke.com/favicon.ico // @run-at document-end // @license MIT // ==/UserScript== (function () { 'use strict'; // 等待表格加载(确保页面渲染完成) function waitForTable() { const table = document.querySelector("table"); if (table) { addCopyButtons(table); addGlobalCopyButton(table); } else { setTimeout(waitForTable, 500); // 如果未加载完成,继续等待 } } function addGlobalCopyButton(table) { const button = document.createElement("button"); button.textContent = "CopyAll"; button.style.position = "fixed"; button.style.bottom = "20px"; button.style.right = "20px"; button.style.zIndex = "9999"; button.style.padding = "8px 12px"; button.style.fontSize = "14px"; button.style.cursor = "pointer"; button.addEventListener("click", () => { const links = table.querySelectorAll('a[href*="/gupiao-"]'); const allCodes = Array.from(links).map(link => { const href = link.getAttribute("href"); const match = href.match(/gupiao-(\d+)\.html/); return match ? match[1] : null; }).filter(code => code !== null); if (allCodes.length > 0) { const uniqueCodes = [...new Set(allCodes)]; GM_setClipboard(uniqueCodes.join(" ")); button.textContent = "CopiedAll"; setTimeout(() => { button.textContent = "CopyAll"; }, 1500); } else { button.textContent = "None"; setTimeout(() => { button.textContent = "CopyAll"; }, 1500); } }); document.body.appendChild(button); } function addCopyButtons(table) { const rows = table.querySelectorAll("tr"); rows.forEach(row => { const tdList = row.querySelectorAll("td"); // 确保是我们要处理的行(至少3列) if (tdList.length >= 3) { const thirdTd = tdList[2]; const links = thirdTd.querySelectorAll('a[href*="/gupiao-"]'); const stockCodes = Array.from(links).map(link => { const href = link.getAttribute("href"); const match = href.match(/gupiao-(\d+)\.html/); return match ? match[1] : null; }).filter(code => code !== null); if (stockCodes.length > 0) { // 创建按钮 const button = document.createElement("button"); button.textContent = "Copy"; button.style.marginLeft = "5px"; button.style.cursor = "pointer"; button.style.fontSize = "12px"; // 绑定点击事件 button.addEventListener("click", () => { GM_setClipboard(stockCodes); button.textContent = "Copied"; setTimeout(() => { button.textContent = "Copy"; }, 1000); }); // 插入到第一列(tdList[0])中 tdList[0].appendChild(button); } } }); } waitForTable(); })();