去除csdn代码行号,复制代码时,会粘贴到行号,此脚本可以去除行号.可以限制kaggle子页面的完整页面.
当前为
// ==UserScript==
// @name 网页效果增强
// @namespace https://github.com/xjl456852
// @version 0.1.3
// @description 去除csdn代码行号,复制代码时,会粘贴到行号,此脚本可以去除行号.可以限制kaggle子页面的完整页面.
// @author 解江磊
// @connect www.csdn.net
// @match *://www.kaggleusercontent.com/*
// @match *://*.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.3 增加kaggle子网页单独取出来,显示不完整问题.并增加匹配,修改插件名,并取消:@include *://*.csdn.net/*
// @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';
// Your code here...
let csdn = {
init() {
$(".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();
}
}
let kaggle = {
init(){
if("hidden" == $("body").css("overflow-y")){
$("body").css("overflow-y","auto")
}
}
}
let main = {
init() {
if (/.csdn.net/.test(location.host)) {
csdn.init();
}
if (/.kaggleusercontent.com/.test(location.host)) {
kaggle.init();
}
}
};
main.init();
})();