// ==UserScript== // @name CSDN助手 // @namespace http://tampermonkey.net/ // @version 0.11 // @description CSDN未登录复制、复制代码不带原文链接、禁用登录弹窗、未登录查看所有评论、评论完全展开 // @author Gandalf_jiajun // @include https://blog.csdn.net/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; const appendStyle = (tagArr) => { tagArr.forEach(element => { element.style.userSelect = 'text'; element.style.webkitUserSelect = 'text'; }); }; const translateParams = (params) => { let str = '?'; for(let i in params) { str += i + '=' + params[i] + '&'; } return str.substring(0, str.length - 1); }; const request = (method, url, params) => { return new Promise((resolve, reject) => { let newUrl = params ? url + translateParams(params) : url; const xml = new XMLHttpRequest; xml.open(method, newUrl, true); xml.send(); xml.onreadystatechange = () => { if(xml.readyState == 4 && xml.status == 200) { resolve(JSON.parse(xml.responseText)); } }; }) }; let tag_a = document.querySelectorAll('#content_views pre'); let tag_b = document.querySelectorAll('#content_views pre code'); // console.log(tag_a, tag_b); appendStyle(tag_a); appendStyle(tag_b); // 生成dom const createDom = (arr) => { let dom = `