CSDN免登录(不可用)复制代码

用鼠标选中你要复制的文本内容, 会弹出一个提示条, 点击第一个复制, 如果提示条关闭了说明复制成功

目前為 2023-05-25 提交的版本,檢視 最新版本

// ==UserScript==
// @name         CSDN免登录(不可用)复制代码
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  用鼠标选中你要复制的文本内容, 会弹出一个提示条, 点击第一个复制, 如果提示条关闭了说明复制成功
// @author       HUIHONG
// @match        https://blog.csdn.net/**
// @icon         https://g.csdnimg.cn/static/logo/favicon32.ico
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // 将代码设置为可编辑状态
    for (const code of document.querySelectorAll("code")) {
        code.contentEditable = "true";
    }

    // 当鼠标抬起的时候, 监听是否有元素#articleSearchTip
    document.addEventListener("mouseup", function(e) {
        // 检查是否有这个提示条, 有的话就更新这个提示条
        checkArticleSearchTip();
    });

    // 每隔500毫秒查找一次, 一共查找5次
    function checkArticleSearchTip(i) {
        i = i || 1;
        // 是否有元素#articleSearchTip
        const articleSearchTip = document.querySelector("#articleSearchTip");
        if (articleSearchTip == null) {
            // 是否结束查找
            if (i <= 5) {
                setTimeout(() => checkArticleSearchTip(i + 1), 500);
            }
            return;
        }
        // 添加一个复制选项框
        updateArticleSearchTip(articleSearchTip);
    }

    // 向提示框中添加一个复制项
    function updateArticleSearchTip(tip) {
        // 是否已经将节点插入进去了
        if (tip.children.length === 4) return;

        // 创建节点
        const copyNode = document.createElement("a");
        copyNode.innerHTML = '<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/newcNoteWhite.png"><span class="article-text">复制</span>';
        copyNode.setAttribute("class", "article-href cnote");
        copyNode.setAttribute("href", "javascript:void(0);");

        // 为节点添加点击事件
        copyNode.addEventListener("click", copySelectedContent);

        // 将节点插入到提示条中
        tip.insertBefore(copyNode, tip.children[0]);
    }

    // 复制被选中的内容到剪切板
    function copySelectedContent() {
        // 获取选中内容
        const selection = window.getSelection().toString();
        // 将选中内容写入到剪切板中, 成功就关闭提示框
        navigator && navigator.clipboard.writeText(selection).then(function() {
            // 关闭提示框
            document.querySelector("#articleSearchTip").remove();
        });
    }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址