您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A simple script that addes a copy button in dashboard of Text Blaze
// ==UserScript== // @name Copy from Text Blaze // @namespace Violentmonkey Scripts // @match https://dashboard.blaze.today/snippet/* // @run-at document-end // @grant none // @version 1.2 // @icon https://dashboard.blaze.today/favicon.ico // @author The Myth // @license MIT // @description A simple script that addes a copy button in dashboard of Text Blaze // ==/UserScript== const copyTorrentLinks = (output) => { const input = document.createElement("textarea"); input.value = output document.body.appendChild(input); input.focus(); input.select(); let result = document.execCommand("copy"); document.body.removeChild(input); if (result) alert("Torrent links copied to clipboard"); else prompt("Failed to copy links. Manually copy from below\n\n", input.value); }; function onClick() { var previewBtn = document.querySelector( "#root > div > div > div.MuiGrid-root.MuiGrid-item.css-1wxaqej > div > div > div > div:nth-child(2) > div > div > button:nth-child(2)" ); if (previewBtn.ariaPressed == "false") { alert("Go to the preview section"); } else { var mainDiv = document.querySelector(".form-sandbox"); if (mainDiv) { let output = "\n"; for (const element of mainDiv.childNodes) { if (element.childElementCount == 0) { output += "\n"; } else { for (const insideElement of element.childNodes) { if (insideElement.tagName.toLowerCase() == "input") { if (insideElement.value=="") { alert(`${insideElement.placeholder} is empty`) return }else{ output+=`${insideElement.value}` } }else{ output+=insideElement.textContent } } output+="\n" } } copyTorrentLinks(output) } else { alert("Main div not found"); } } } function setupObserver() { const observer = new MutationObserver((mutations) => { for (const mutation of mutations) { if ( mutation.target.matches( "#root > div > div > div.MuiGrid-root.MuiGrid-item.css-1wxaqej > div > div > div > div:nth-child(2) > div > div > button:nth-child(2)" ) ) { var btnGroup = mutation.target.parentElement; var copyBtn = document.createElement("button"); copyBtn.textContent = "Copy"; copyBtn.type = "button"; copyBtn.style = "color:#00acc0;border:1px solid;font-family:Roboto, Helvetica, Arial, sans-serif;"; copyBtn.onclick = () => { onClick(); }; btnGroup.appendChild(copyBtn); observer.disconnect(); } } }); observer.observe(document.body, { childList: true, subtree: true }); } setupObserver();