ABX的简单文本复制

copy everything!

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         ABX的简单文本复制
// @namespace    http://tampermonkey.net/
// @version      2024-10-10
// @description  copy everything!
// @author       ABX
// @match        *://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
   // 创建一个气泡元素
    const tooltip = document.createElement('div');
    tooltip.id = 'copy-tooltip';
    tooltip.style.position = 'absolute';
    tooltip.style.visibility = 'hidden';
    tooltip.style.backgroundColor = '#333'; //背景颜色
    tooltip.style.color = '#fff'; //文字颜色
    tooltip.style.padding = '5px';
    tooltip.style.borderRadius = '5px';
    tooltip.style.fontSize = '12px';
    tooltip.style.zIndex = '1000';
    tooltip.style.opacity = '0.7'; // 设置透明度为0.7
    document.body.appendChild(tooltip);

    // 为文档添加右键点击事件监听器
    document.addEventListener('contextmenu', function(event) {
        const targetElement = event.target;
        let disTime = 1500; // 初始消失时间(毫秒)


        // 检查元素是否包含文本
        if (targetElement && targetElement.textContent) {
            const textToCopy = targetElement.textContent.trim();

            // 创建一个用于复制的临时元素
            const tempInput = document.createElement('input');
            tempInput.style.position = 'absolute';
            tempInput.style.left = '-9999px';
            tempInput.value = textToCopy;
            document.body.appendChild(tempInput);

            // 选中文本并复制
            tempInput.select();
            tempInput.setSelectionRange(0, 99999);
            document.execCommand('copy');

            // 移除临时元素
            document.body.removeChild(tempInput);

            // 显示气泡提示
            tooltip.textContent = 'ABX的简单复制: \n' + textToCopy;
            tooltip.style.visibility = 'visible';
            tooltip.style.top = `${event.pageY + 15}px`;
            tooltip.style.left = `${event.pageX + 15}px`;

            // 隐藏气泡提示
            setTimeout(() => {
                tooltip.style.visibility = 'hidden';
            }, disTime);
        }
    });
})();