万能复制插件

在点击页面元素时将其内容复制到剪贴板

// ==UserScript==
// @name         万能复制插件
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  在点击页面元素时将其内容复制到剪贴板
// @author       You
// @match        *://*/*
// @grant        GM_setClipboard
// ==/UserScript==

(function() {
    'use strict';

    // 创建一个函数,用于复制文本到剪贴板
    function copyToClipboard(text) {
        if (navigator.clipboard) {
            // 使用标准的 API 复制文本
            navigator.clipboard.writeText(text);
        } else {
            // 使用 GM_setClipboard 复制文本
            GM_setClipboard(text);
        }
    }

    // 给页面元素添加点击事件监听器
    document.addEventListener('click', function(event) {
        var target = event.target;
        var copiedText = null;

        // 这里可以根据需要选择要复制的内容,例如:
        // 如果点击的是 <p> 元素,就复制它的文本内容
        if (target.tagName.toLowerCase() === 'p') {
            copiedText = target.innerText;
        }
        // 如果点击的是 <input> 或 <textarea> 元素,就复制它的值
        else if (target.tagName.toLowerCase() === 'input' || target.tagName.toLowerCase() === 'textarea') {
            copiedText = target.value;
        }
        // 添加其他元素的处理逻辑...

        // 如果有要复制的内容,就执行复制操作
        if (copiedText !== null && copiedText.trim() !== '') { // 检查文本是否为空
            copyToClipboard(copiedText);
            alert('已复制到剪贴板:' + copiedText);
            event.preventDefault(); // 阻止事件的默认行为
            event.stopPropagation(); // 阻止事件的冒泡
        }
    }, true); // 使用捕获模式
})();