网站首页 > 知识剖析 正文
csdn上的资源对于程序员来说非常有用,但是代码确不让直接复制,让程序员感觉非常不方便,下面介绍几个方法来解决这个问题。
方法一
- 在要复制的代码页面按F12
- 在Console界面输入以下内容
Array.from(document.querySelectorAll("code")).map(a=>{a.style="user-select:text;"})
$("#content_views").off("copy")
这样就可以不用登陆进行代码复制了。就这么简单!
方法二
如果觉得每次打开控制台执行代码比较麻烦,可以考虑做成浏览器插件。
- 编写content-script.js文件,代码如下
// 跳过关注博主展开全文
var article_content = document.getElementById("article_content");
if (article_content) {
article_content.removeAttribute("style");
}
var code=document.getElementsByTagName('code');
for(var i=code.length-1;i>=0;i--)
{
code[i].style.userSelect='text';
}
(function () {
const elements = document.querySelectorAll('*');
elements.forEach(element => {
element.addEventListener('copy', function (e) {
e.stopPropagation();
});
})
})();
- 编写manifest.json文件
{
"manifest_version": 2,
"name": "csdn复制代码",
"version": "1.0.0",
"description": "能够在不登陆的状态下复制CSDN的代码",
"icons":
{
"16" : "img/icon.png",
"48" : "img/icon.png",
"128" : "img/icon.png"
},
"content_scripts":
[
{
"matches": ["https://blog.csdn.net/*"],
"js": ["js/content-script.js"],
"css": ["css/style.css"],
"run_at": "document_end"
}
],
"permissions":
[
"contextMenus", // 右键菜单
"tabs", // 标签
"notifications", // 通知
"webRequest", // web请求
"webRequestBlocking",
"storage", // 插件本地存储
"http://*/*", // 可以通过executeScript或者insertCSS访问的网站
"https://*/*" // 可以通过executeScript或者insertCSS访问的网站
]
}
- 在谷歌浏览器 扩展程序--管理扩展程序--加载已解压的扩展程序,选择自己的插件路径进行加载,就可以实现复制自由了。
踩坑记录:
- 在谷歌浏览器中加载扩展程序需要开启开发者模式。
- 使用谷歌浏览器时不能用无痕模式,否则可能导致插件不生效。
猜你喜欢
- 2025-07-06 LayUi提高-Select控件使用(layui form select)
- 2025-07-06 用 Playwright MCP 让 AI 改它自己写的屎山代码
- 2025-07-06 multiple-select.js中手动设置全选和取消全选
- 2025-07-06 前端实现右键自定义菜单(html 自定义右键菜单)
- 2025-07-06 JavaScript脚本如何断言select下拉框的元素内容?
- 2025-07-06 广州蓝景分享—实用的CSS技巧,助你成为更好的前端开发者
- 2025-07-06 MyBatis-Plus码之重器 lambda 表达式使用指南,开发效率瞬间提升80%
- 2025-07-06 Go语言之select的使用和实现原理(go select case)
- 2025-07-06 Layui 框架实战:动态加载 Select 与二级联动全解析
- 2025-07-06 Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)Jinja2引擎解析
- 最近发表
-
- jQuery EasyUI使用教程:创建展开行详细编辑表单的CRUD应用
- CSDN免登陆复制代码的几种方法(csdn扫码登录怎么实现的)
- LayUi提高-Select控件使用(layui form select)
- 用 Playwright MCP 让 AI 改它自己写的屎山代码
- multiple-select.js中手动设置全选和取消全选
- 前端实现右键自定义菜单(html 自定义右键菜单)
- JavaScript脚本如何断言select下拉框的元素内容?
- 广州蓝景分享—实用的CSS技巧,助你成为更好的前端开发者
- MyBatis-Plus码之重器 lambda 表达式使用指南,开发效率瞬间提升80%
- Go语言之select的使用和实现原理(go select case)
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)