吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5620|回复: 36
收起左侧

[其他转载] 【油猴脚本】去除csdn登录才能复制代码的限制

[复制链接]
zhzhch335 发表于 2022-3-22 14:43
本帖最后由 zhzhch335 于 2022-3-22 16:44 编辑

(有老哥反映有的页面点击按钮还是会弹出登录框,我下午4点修改了下做了兼容,如果已经下载的朋友记得更新一下!用下面网址就行太长不看:
去greasyfork安装:https://greasyfork.org/zh-CN/scripts/441883
直接下载(安装好油猴插件的应该会自动弹出安装提示):https://github.com/zhzhch335/myTampermonkey/releases/download/publish/CSDN.user.js

效果:

之前

之前

之后

之后



作为程序猿,应该会经常去csdn参(chao)考(xi)代码,今天在复制一篇文章的代码的时候,突然发现需要登录才能复制,但是我用github授权登录的时候居然失败了!
突发奇想,写个脚本解除这个限制吧!
稍微看一下文档结构,不难发现禁止选中复制就是css的user-select属性设置成了none而已,只要改回text即可:

属性

属性

[JavaScript] 纯文本查看 复制代码
    // 将所有代码区域变为可选
    document.querySelectorAll("code").forEach(function(item) {
        item.style = item.style + ";user-select: text !important;";
        return item;
    })

顺便也把右侧的登录复制按钮变成复制全部了:
[JavaScript] 纯文本查看 复制代码
    // 将所有登录复制按钮变成全选
    document.querySelectorAll(".hljs-button").forEach(function(item) {
        item.dataset.title = "复制全部";
        return item;
    })
    // 重写登录复制方法
    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);
    }


第一次发帖,之前发错版块了,向管理大大认错

免费评分

参与人数 7吾爱币 +4 热心值 +7 收起 理由
zerologic010 + 1 + 1 热心回复!
Yanggedi + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xsj-126 + 1 + 1 谢谢@Thanks!
tdm134 + 1 + 1 谢谢@Thanks!
wangzhu3366 + 1 热心回复!
Ga5211 + 1 用心讨论,共获提升!
xingyu00 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| zhzhch335 发表于 2022-3-25 08:33
xingyu00 发表于 2022-3-24 09:20
https://blog.csdn.net/m0_55858611/article/details/123618459?spm=1001.2100.3001.7377&utm_medium=dis ...

更新了 试试
我改了个名字 如果你看到已安装脚本里有俩的话 就把之前那个名字短的删了好了
 楼主| zhzhch335 发表于 2022-3-23 08:28
zpy2 发表于 2022-3-22 20:19
e.path.filter(

这个 e是啥意思?

e是句柄返回的Event点击事件对象
path是从被点击元素的父元素起逐级向上查找父元素所生成的DOM元素数组

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zpy2 + 1 + 1 谢谢@Thanks!

查看全部评分

山上石 发表于 2022-3-22 15:40
厉害了。好像也有个去除网页限制的脚本,但是对CSDN不知道有没有效。
xingyu00 发表于 2022-3-22 15:42
某些文章还有关注该博主才能看下文,版主是否再研究研究
吾爱蛋蛋 发表于 2022-3-22 15:42
真的厉害油猴脚本
13599383608 发表于 2022-3-22 15:43
山上石 发表于 2022-3-22 15:40
厉害了。好像也有个去除网页限制的脚本,但是对CSDN不知道有没有效。

那个好像无效
LuChao 发表于 2022-3-22 15:48
无效了,点击还是弹框登录
yunnian 发表于 2022-3-22 15:51
厉害了,不明觉厉,先收藏了
saisaixs 发表于 2022-3-22 15:51
好久没用CSDN了,CSDN很多都是国外或者GitHub搬运的东西,还收费
hfxiang 发表于 2022-3-22 16:01
之前安装过很多油猴脚本,真还不知道其相互之前会不会有问冲突,找时间测试一下。感谢分享
yinghui46 发表于 2022-3-22 16:09
厉害了,我的zhzhch335
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表