摆烂后的csdn,要求必须登录才可以复制代码的无底线做法

1条留言 [软件开发] 季雨林 2023/3/20 14:08:24

代码本身并不属于csdn的版权范围,然而csdn却无耻的当作自己的东西保护起来,有违公众平台的道德。网上找来一段工具代码,方便大家使用

(function () {
    'use strict';
    // Your code here...
    // 将所有代码区域变为可选
    document.querySelectorAll("code").forEach(function (item) {
        item.style = item.style + ";user-select: text !important;";
        return item;
    })
    // 将所有登录复制按钮变成全选
    document.querySelectorAll(".hljs-button").forEach(function (item) {
        item.dataset.title = "复制全部";
        return item;
    })
    try {
        // 重写登录复制方法
        window.hljs.signin = e => {
            var preNode = e.path.filter(item => item.tagName == "PRE")[0];
            // 选中一段文字
            let selection = window.getSelection();
            let range = document.createRange();
            range.selectNode(preNode);
            selection.removeAllRanges();
            selection.addRange(range);
            // 执行复制命令
            document.execCommand('copy', false, null);
            e.target.dataset.title = "复制成功";
            setTimeout(() => {
                e.target.dataset.title = "复制全部";
            }, 1000);
        }
        // 重写另一个登录方法(需要去除行号和版权声明)
        window.mdcp.signin = e => {
            // 避免拖动选择代码时直接触发了复制全部
            if (!e.target.className.includes("hljs-button")) return;
            var preNode = e.path.filter(item => item.tagName == "CODE")[0];
            // 选中一段文字
            let selection = window.getSelection();
            let range = document.createRange();
            range.selectNode(preNode);
            selection.removeAllRanges();
            selection.addRange(range);
            // 执行复制命令
            document.execCommand('copy', false, null);
            e.target.dataset.title = "复制成功";
            setTimeout(() => {
                e.target.dataset.title = "复制全部";
            }, 1000);
        }
    }
    catch { }
    // 解除关注才能查看全文的限制
    $('#article_content').removeAttr("style");
    $('.hide-article-box').remove();
})();



原文地址: https://www.opengps.cn/Blog/View.aspx?id=2043 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

2023/10/24 18:28:53, 219.145.36.*说:
Absolute Enable Right Click & Copy 这个插件也可以

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示