您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Versteckt Beiträge von bestimmten Usern auf DBNA.
// ==UserScript== // @name DBNA Post - Hider // @namespace dbnahider // @description Versteckt Beiträge von bestimmten Usern auf DBNA. // @include http://*.dbna.de/webforum/* // @include https://*.dbna.de/webforum/* // @version 0.2.0 // @grant none // ==/UserScript== //Zu löschender Benutzername als Array, bspw.: //var usernames = ["username1", "username2"]; var usernames = [""]; //Beiträge bekommen var posts = document.getElementsByClassName('name'); //Alle Beiträge durchgehen for (var i = 0; i < posts.length; i++) { //Aktueller Beitrag var currentpost = posts[i]; //Wenn Aktueller Beitrag vom Benutzer ist for(var j = 0; j < usernames.length; j++) { if(currentpost.innerHTML.indexOf(usernames[j]) != -1) { //Hochgehen in das umgebende <tr> post = currentpost.parentNode.parentNode; //Inhalt sichern var postcontent = post; //Inhalt ist nur der wirkliche Post postcontent = postcontent.childNodes[3]; //Tabelle rund um den Post //Inhalt für "trotzdem anzeigen?"-Box actualcontent = findClass(postcontent, "postbody"); //Post löschen bzw. ersetzen post.innerHTML = "<td class='row1' align='left' height='40' valign='top' style='background-color:#FF6666;'>" + "<img src='http://abload.de/img/skullmiu1h.png' alt='Blubb' width='32' height='32' /></td>" + "<td class='row1' height='40' nowrap='nowrap' valign='middle' style='background-color:#FF6666; vertical-align:middle;'>" + "Beitrag von <b>" + usernames[j] + "</b> an dieser Stelle wurde versteckt. " + "<a href='javascript:hiddentoggle(" + i + ");'>Trotzdem Anzeigen?</a>" + "<div style='padding:10px; width:433px' id='hiddenpost" + i + "'>" + actualcontent + "</div></td>"; //Hidden-Feld ausblenden document.getElementById("hiddenpost"+i).style.display = 'none'; //Tabelle im Hidden-Feld auf richtige Breite document.getElementById("hiddenpost"+i).firstElementChild.width="433px"; document.getElementById("hiddenpost"+i).firstElementChild.splay="block"; document.getElementById("hiddenpost"+i).firstElementChild.style.wordWrap = "break-word"; //Nächstes ELement ist das Suchfeld, das muss auch weg searchfield = post; //Schleife, damit Whitespace nicht als Element erkannt wird do { searchfield = searchfield.nextSibling; } while (searchfield && searchfield.nodeType !== 1); //Element gefunden! searchfield.innerHTML = ""; } else { //Wenn nicht, überspringen } } } //Zitate bekommen var quotes = document.getElementsByClassName('genmed'); //Alle Zitate durchgehen for(i = 0; i < quotes.length; i++) { //Aktuelles Zitat var currentquote = quotes[i]; //Runtergehen ins <b> quote = currentquote.firstChild; //Wenn aktuelles Zitat von User for(j = 0; j < usernames.length; j++) { //Schauen ob der Username in Quote enthalten ist ("x hat geschrieben") if(quote.innerHTML.indexOf(usernames[j]) != -1) { quote.innerHTML = "Entferntes Zitat von " + usernames[j] + "."; quote.parentNode.parentNode.parentNode.nextElementSibling.firstElementChild.innerHTML = "[--]"; } } } //Umschaltefunktion in die Seite einschleusen script = document.createElement('script'); script.type="text/javascript"; script.textContent = 'function hiddentoggle(i) { console.log(document.getElementById("hiddenpost"+i));' + '(document.getElementById("hiddenpost"+i).style.display == "none") ? document.getElementById("hiddenpost"+i).style.display = "block" : document.getElementById("hiddenpost"+i).style.display = "none";}'; document.body.insertBefore(script, document.getElementById("page-container")); //Find Child with Class //Source: https://stackoverflow.com/questions/12166753/how-to-get-child-element-by-class-name function findClass(element, className) { var foundElement = null, found; function recurse(element, className, found) { for (var i = 0; i < element.childNodes.length && !found; i++) { var el = element.childNodes[i]; var classes = el.className != undefined? el.className.split(" ") : []; for (var j = 0, jl = classes.length; j < jl; j++) { if (classes[j] == className) { found = true; foundElement = element.innerHTML; break; } } if(found) break; recurse(element.childNodes[i], className, found); } } recurse(element, className, false); return foundElement; }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址