Greasy Fork

Greasy Fork is available in English.

哪里不要点哪里

将鼠标放置在不想要的网页内容上然后点击即可去掉,适用于想要将网页保存为pdf时但有不需要内容时的场景

当前为 2020-11-25 提交的版本,查看 最新版本

// ==UserScript==
// @name         哪里不要点哪里
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  将鼠标放置在不想要的网页内容上然后点击即可去掉,适用于想要将网页保存为pdf时但有不需要内容时的场景
// @author       starrysky
// @match        https://*/*
// @match        http://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    	var cssPath = function(el) {
	        if (!(el instanceof Element)) 
	            return;
	        var path = [];
	        while (el.nodeType === Node.ELEMENT_NODE) {
	            var selector = el.nodeName.toLowerCase();
	            if (el.id) {
	                selector += '#' + el.id;
	                path.unshift(selector);
	                break;
	            } else {
	                var sib = el, nth = 1;
	                while (sib = sib.previousElementSibling) {
	                    if (sib.nodeName.toLowerCase() == selector)
	                       nth++;
	                }
	                if (nth != 1)
	                    selector += ":nth-of-type("+nth+")";
	            }
	            path.unshift(selector);
	            el = el.parentNode;
	        }
	        return path.join(" > ");
	    }
		
	var allDom = document.querySelectorAll('*');
	NodeList.prototype.forEach = Array.prototype.forEach;
	
	if (localStorage.eleDellist == undefined){
		var eleDellist = []
	}else{
		var eleDellist = []
		// var eleDellist =JSON.parse(localStorage.eleDellist)
	}
	
	eleDellist.forEach((item)=>{
		item.remove()
	})
	document.onkeydown=function(event){
		console.log(event)
		event=event || window.event;
		// 普通模式
		if (event.keyCode==68 || event.key== 'd'){
			alert('脚本已开始运行,当前使用:普通模式!')
			allDom.forEach((item)=>{
				item.style.cursor = 'pointer'
			    if(item.nodeName== 'SCRIPT'){
					item.remove()
				}
				if(item.nodeName== 'BODY' || item.nodeName == 'HTML' ){
					item.style.backgroundColor = "rgba(78,110,242,0)"
				}else{
					item.onfocus = function(evt){
						let event = evt || window.event;
						let target = event.target || event.srcElement;
						target.remove()
					}
					item.onclick = function(evt){
						let event = evt || window.event;
						let target = event.target || event.srcElement;
						target.remove()
					}
					item.onmouseenter = function(){
						item.style.backgroundColor = "rgba(78,110,242,0.15)"
					}
					item.onmouseleave = function(){
						item.style.backgroundColor = "rgba(78,110,242,0)"
					}
				}
			})	
		}
		// 存储模式
		if (event.keyCode==83 || event.key== 's'){
			alert('脚本已开始运行,当前使用:存储模式!')
			allDom.forEach((item)=>{
				item.style.cursor = 'pointer'
			    if(item.nodeName== 'SCRIPT'){
					item.remove()
				}
				if(item.nodeName== 'BODY' || item.nodeName == 'HTML' ){
					item.style.backgroundColor = "rgba(78,110,242,0)"
				}else{
					item.onfocus = function(evt){
						let event = evt || window.event;
						let target = event.target || event.srcElement;
						eleDellist.push(cssPath(target))
						localStorage.eleDellist=JSON.stringify(eleDellist);
						target.remove()
					}
					item.onclick = function(evt){
						let event = evt || window.event;
						let target = event.target || event.srcElement;
						eleDellist.push(cssPath(target))
						localStorage.eleDellist=JSON.stringify(eleDellist);
						target.remove()
						
					}
					item.onmouseenter = function(){
						item.style.backgroundColor = "rgba(78,110,242,0.15)"
					}
					item.onmouseleave = function(){
						item.style.backgroundColor = "rgba(78,110,242,0)"
					}
				}
			})
		}
		if (event.keyCode==67 || event.key== 'c'){
			localStorage.removeItem('eleDellist')
			alert('存储数据已清理!')
		}
	}
})();