您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Remove certain users posts
// ==UserScript== // @name Transfermarkt blocker // @namespace postblocker // @version 0.1 // @description Remove certain users posts // @author hinke @transfermarkt // @include *transfermarkt.de/*/forum/*/thread_id/* // @require http://code.jquery.com/jquery-3.2.1.min.js // @grant GM_deleteValue // @grant GM_getValue // @grant GM_setValue // @grant GM_listValues // ==/UserScript== var gmkick = GM_listValues(); console.log("geblockt:", gmkick) var boxen = document.getElementsByClassName("box"); var box = Array.from(boxen); buildOptions() kickPosts(); addStyles(); function addStyles() { var s = $(document.createElement("style")); var css = "body { max-width: 100vw; }" + ".unblockUser { float: left; padding: 5px; border: 1px dashed #345487; margin: 5px; }" + ".npst { display: none; } "; s.html(css); $("head").append(s); } function buildOptions() { //toggle var toggleOptions = $(document.createElement("li")); toggleOptions.append( $(document.createElement("a")) .attr("style", "cursor: pointer;") .addClass("showOptions") .text("Postblocker") ); $(".box-header-forum").append(toggleOptions); //hidden div containing the blocklist var hiddenDiv = $(document.createElement("div")).addClass("optionsContainer"); hiddenDiv.css("display", "none"); hiddenDiv.css("position", "fixed"); hiddenDiv.css("padding", "20px"); hiddenDiv.css("width", "750px"); hiddenDiv.css("max-width", "80vw"); hiddenDiv.css("height", "500px"); hiddenDiv.css("maxheight", "80vh"); hiddenDiv.css("left", "50%"); hiddenDiv.css("top","15%"); hiddenDiv.css("transform", "translate(-50%)"); hiddenDiv.css("overflow-y", "auto"); hiddenDiv.css("background-color", "#FFFFFF"); hiddenDiv.css("color", "#1a3151"); hiddenDiv.css("z-index", "9001"); hiddenDiv.css("border", "1px solid #333"); hiddenDiv.css("border-top", "none"); hiddenDiv.css("border-bottom-right-radius", "10px"); hiddenDiv.css("border-bottom-left-radius", "10px"); var optionsDiv = $(document.createElement("div")).addClass("optionsDiv"); gmkick.forEach(function(val) { if ( val != "chkremovePosts" && val != "chkremoveThreads" && val != "chkenableToggleRemovedQuotes" && val != "chkPassAufDasKartenhausVonAndreasAuf" && val != "chkDubs" ) optionsDiv.html(optionsDiv.html() + '<div class="unblockUser" data-user="' + val + '" style="cursor: pointer;" title="">[' + val + "]</div>"); }); optionsDiv.html(optionsDiv.html().substr(0, optionsDiv.html().length - 2)); hiddenDiv.html(optionsDiv); var closeOptions = $(document.createElement("div")).addClass("hideOptions"); closeOptions.css("position", "absolute"); closeOptions.css("right", "0"); closeOptions.css("top", "0"); closeOptions.css("padding", "5px"); closeOptions.css("font-size", "16px"); closeOptions.css("cursor", "pointer"); closeOptions.html("X"); hiddenDiv.append(closeOptions); $("body").append(hiddenDiv); } if($("box>forum-user").length ===0){ //$(".box-content.overflow-visible").css("border","3px solid red"); $(".forum-user-info > a").each(function(i,e){ $(e).after( $(document.createElement("a")) .addClass("blockUser") .attr("data-user", $(e).text()) .css("cursor", "pointer") .text("block") ); $(e).after($(document.createElement("span")).html(" –")); }); } $(".blockUser").click(function(){ var user = $(this).attr("data-user"); if(confirm("Block " + user + "?")){ return blockUser(user); } return false; }); function blockUser(user){ GM_setValue(user,1); location.reload(); } function kickPosts(){ $.each(gmkick,function(i,v){ console.log(v) $(".forum-user:contains(" + v + ")") .parent() .parent() .parent() .parent() .parent() .remove() }); } $(".showOptions, .hideOptions").click(function() { console.log("options!"); $(".optionsContainer").toggle(0); }); $(".unblockUser").click(function() { var user = $(this).attr("data-user"); if (confirm("Unblock " + user + "?")) { return unblockUser(user, $(this)); } return false; }); function unblockUser(user, elem) { GM_deleteValue(user, 1); elem.remove(); } function getPosition(element) { var xPosition = 0; var yPosition = 0; while(element) { xPosition += (element.offsetLeft - element.scrollLeft + element.clientLeft); yPosition += (element.offsetTop - element.scrollTop + element.clientTop); element = element.offsetParent; } return { x: xPosition, y: yPosition }; }