去除csdn代码行号,复制代码时,会粘贴到行号,此脚本可以去除行号.
当前为
// ==UserScript==
// @name CSDN代码去行号
// @namespace https://github.com/adlered
// @version 0.1.2
// @description 去除csdn代码行号,复制代码时,会粘贴到行号,此脚本可以去除行号.
// @author xiejl
// @connect www.csdn.net
// @include *://*.csdn.net/*
// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery-cookie/1.4.1/jquery.cookie.min.js
// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/nprogress/0.2.0/nprogress.min.js
// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/clipboard.js/2.0.10/clipboard.min.js
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @license LGPLv3
// @note 22-06-25 0.1.2 修改动态无缝支持各种语言正确显示.不转义
// @note 22-06-20 0.1.1 修改动态无缝支持各种语言正确显示.不转义
// @note 22-06-20 0.1.0 修改单独页面不同的动态语言
// @note 22-06-18 0.0.9 修改为动态语言
// @note 22-06-17 0.0.8 调整加载时间
// @note 22-06-17 0.0.7 支持csdn两种代码格式
// @note 22-06-17 0.0.6 去除csdn行号,调整缩进
// ==/UserScript==
(function() {
'use strict';
$(".pre-numbering").remove();
$(".prettyprint").css({"padding":" 8px 16px 6px 10px"})
$(".hljs-ln-numbers").remove()
var ref = "";
var changeCount = 0;
function getText(totalLi) {
var text = "";
for(var i=0; i<totalLi.length; i++){
text +=$(totalLi[i]).text()+"\n"
}
return text;
}
function changeCode() {
var data = $("[class~='hljs']");
var len = data.length;
if(len<=0) {
return;
}
for(var i=0; i<len; i++){
var languageArr = $(data[i]).attr("class").split(" ")
var language="";
for (var j in languageArr ) {
if(languageArr[j].startsWith("language-")){
language = languageArr[j];
break;
}
}
var _par = $(data[i]).parent();
var totalLi = $(data[i]).find("li");
if(totalLi.length<=0) {
continue;
}
var current = '<pre class="prettyprint" style="padding: 8px 16px 6px 10px; user-select: auto;"><code class="prism '+language+' has-numbering" onclick="mdcp.copyCode(event)" style="position: unset; user-select: auto;"></code></pre>';
var newCurrent = $(current)
_par.replaceWith(newCurrent)
newCurrent.find("code").text(getText(totalLi))
}
console.log("去行号完成")
clearInterval(ref);
}
function startChange() {
var src_class = $('pre').attr('class')
if("prettyprint" != src_class){
ref = setInterval(function () {
changeCount++;
console.log(changeCount)
if(changeCount>200){
clearInterval(ref);
}
changeCode()
}, 0);
}
}
startChange();
// Your code here...
})();