CSDN快捷工具
// ==UserScript==
// @name CSDN快捷工具
// @namespace http://tampermonkey.net/
// @version 0.1.6
// @description csde 快捷复制、不带版权文字、查看全文等功能
// @author 昊色居士
// @match *.csdn.net/*
// @match https://blog.csdn.net/*
// @icon https://www.google.com/s2/favicons?domain=csdn.net
// @grant none
// ==/UserScript==
(function () {
/**
* 复制事件
*/
function copy_event(button_doc, code_dom) {
const codeText = code_dom.innerText;
navigator.clipboard.writeText(codeText)
.then(()=> {
button_doc.setAttribute("data-title", "复制成功!")
setTimeout(()=> button_doc.setAttribute("data-title", "点我复制"), 1000)
})
.catch(err => {
alert("复制失败!");
console.error("复制失败:", err);
});
}
// 允许不登录复制
document.querySelector("#content_views").style.setProperty('user-select', 'text', 'important')
for (const e of document.querySelectorAll('#content_views pre')) {
e.style.setProperty('user-select', 'text', 'important')
}
for (const e of document.querySelectorAll('#content_views pre code')) {
e.style.setProperty('user-select', 'text', 'important')
}
$("#content_views").unbind()
// 复制不带版权
var copy_element = document.querySelector('main .blog-content-box')
csdn.copyright.init(copy_element, '')
// 登录后复制按钮 data-title 改成随便复制并删除点击事件
document.querySelectorAll('#content_views pre').forEach(
doc => {
let button_doc = doc.querySelector(".hljs-button")
let code_doc = doc.querySelector("code")
button_doc.setAttribute("data-title", "点我复制")
code_doc.setAttribute("onclick", undefined)
button_doc.setAttribute("onclick", undefined)
button_doc.onclick = () => copy_event(button_doc, code_doc)
}
)
// 不关注博主即可看全文
$(".hide-article-box").hide()
$("div.article_content").removeAttr("style")
})();