您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
用于CSDN,无需关注即可阅读,文章转PDF打印,不登录复制禁止登录弹窗
// ==UserScript== // @name 反CSDN // @namespace http://tampermonkey.net/ // @version 0.3.2 // @description 用于CSDN,无需关注即可阅读,文章转PDF打印,不登录复制禁止登录弹窗 // @author Li Sipeng // @match https://blog.csdn.net/* // @grant none // @license none // ==/UserScript== ( function() { 'use strict'; /* 1、不关注即可阅读 */ let btnNode = document.querySelector("#mainBox > main > div.hide-article-box.hide-article-pos.text-center"); function hideConcerns(){ document.querySelector('#article_content').style.height='auto'; document.querySelector("#mainBox > main > div.hide-article-box.hide-article-pos.text-center").style.display='none'; } if(btnNode!=null){ console.log("1、反CSDN,你我有责"); btnNode.innerHTML = "<p class='btn'>不关注也可以阅读哦>>></p>"; btnNode.style = " color: red;font-size: 25px;" btnNode.addEventListener('click',hideConcerns) } /* 2、打印功能 */ let ulNode = document.querySelector("#toolBarBox > div > div.toolbox-middle > ul"); if(ulNode != null){ let span = document.createElement("span"); span.style.color="red"; span.style.fontWeight="900"; span.style.cursor = "pointer"; span.innerHTML="打印"; ulNode.appendChild(span); span.addEventListener('click',()=>{ console.log("2、反CSDN,你我有责"); alert("建议打印之前先进入设置将浏览器字体适当调大(推荐:字号22,最小字号18)\r点击确定后按ctrl+p进行打印"); if(btnNode!=null) hideConcerns(); /*从被选元素body移除一个类页面样式*/ $("body").removeClass("nodata"); /*删除顶部导航*/ $("#csdn-toolbar").remove(); /*删除左侧导航*/ $("aside").remove(); /*删除右侧悬浮*/ $(".csdn-side-toolbar").remove(); /*删除CSDN文章上方*/ $(".article-header-box .article-info-box").remove(); $("#blogColumnPayAdvert").remove(); /*展开CSDN文章中被隐藏的代码段:从被选元素pre class="set-code-hide prettyprint"移除一个类页面样式*/ $('pre[class="set-code-hide prettyprint"]').removeClass("set-code-hide"); /*删除CSDN文章中被隐藏的代码段上面的遮罩*/ $('div[class="hide-preCode-box"]').remove(); /*删除CSDN文章下方*/ $(".more-toolbox-new").remove(); $(".reward-box-new").remove(); $(".recommend-tit-mod").remove(); $(".blog-footer-bottom").remove(); /*删除CSDN文章下方评论、其他博客链接*/ $(".comment-box, .recommend-box, #csdn-shop-window, .template-box").remove(); /*删除CSDN文章下方公众号链接、笑脸评级*/ $("#blogExtensionBox, #recommendNps").remove(); /*修改CSDN文章css样式为》默认样式'display':'contents'或自定义宽度'width':'1100px'或自定义宽度'width':'825px'*/ $("main").css({'width':'900px'}); /*弹出打印窗口》另存为PDF文件*/ window.print(); }) } /* 3、不登录复制,禁止所有登录弹窗 */ let isLogin = document.querySelector(".hasAvatar"); let isCode = document.querySelectorAll("code"); if(isLogin === null && isCode != null){ console.log("3、反CSDN,你我有责") let WinObj = parent || window; let styleTag ="<style>.passport-login-container{display:none;}</style>" let html = WinObj.document.head.innerHTML; WinObj.document.head.innerHTML = html + styleTag; //给当前页面添加css样式,不让弹窗 for(let item of isCode){ item.style.userSelect = "text"; //允许扩选复制 item.lastChild.dataset.title = "我不登录也要扩选复制"; //改变提示文字 let copyBtn = document.querySelector(".hljs-button"); copyBtn.addEventListener("click",()=>{ console.log(copyBtn.parentNode.innerText); var url=copyBtn.parentNode.innerText; var input = document.createElement('input'); document.body.appendChild(input); input.setAttribute('value', url); input.select(); document.execCommand("copy"); // 执行浏览器复制命令 document.body.removeChild(input); item.lastChild.dataset.title = "复制成功!"; //改变提示文字 }); } } })();