Copy Code to Clipboard

Click the codeheader to copy the content to your clipboard

当前为 2023-05-08 提交的版本,查看 最新版本

// ==UserScript==
// @name         Copy Code to Clipboard
// @version      0.1
// @description  Click the codeheader to copy the content to your clipboard
// @author       TryNinja
// @match        https://bitcointalk.org/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=bitcointalk.org
// @namespace https://greasyfork.org/users/1070272
// ==/UserScript==

(function() {
    'use strict';

    const codeheaders = document.querySelectorAll('.codeheader');

    const copyCode = id => {
        const header = document.querySelector(`.${id}`);
        const copyBtn = document.querySelector(`.${id} > button`);
        const code = header.nextElementSibling;
        navigator.clipboard.writeText(code.textContent).then(() => {
            copyBtn.textContent = 'Code: (copied!)';
        });
    }

    const run = () => {
        for (const codeheader of codeheaders) {
            const rand = Math.floor(Math.random() * 10e6);
            const id = `code-${rand}`;
            codeheader.style = 'display: flex; justify-content: space-between; align-items: center;';
            codeheader.classList.add(id);
            codeheader.innerHTML = `<button type="button" onclick="copyCode('${id}')" style="border: 0; background: none; color: rgb(136, 169, 195); font-weight: bold;">Code: (click to copy)</button>`;
        }
    }

    run();

})();