NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name 惡魔旅館警告器 // @version 0.3 // @grant none // @include https://www.ptt.cc/bbs/Gossiping/* // @license MIT // @description 惡魔旅館警告器! No more 惡魔旅館 // @namespace https://greasyfork.org/users/916025 // ==/UserScript== console.log("惡魔旅館警告器") // 黑名單列表 const alertList = [ "DevilHotel", ] const pathname = window.location.pathname.replace("/bbs/Gossiping/", "") if (pathname.startsWith("M")) { const pushUseridArray = Array.from(document.querySelectorAll(".push-userid")) const blockPushUserid = pushUseridArray.filter((e) => alertList.indexOf(e.innerText) != -1) const author = document.querySelector(".article-metaline>.article-meta-value").innerText.replace(/\(.+\)/, "") const warring = (alertList.indexOf(author) != -1) || (blockPushUserid.length > 0) let blockedRichcontent = [] if (warring) { // set warring } blockPushUserid.map((e) => { const nextSibling = e.offsetParent.nextSibling if (nextSibling.classList.contains("richcontent")) { blockedRichcontent.push(nextSibling) e.style.color = "red" } }) console.log(blockedRichcontent) blockedRichcontent.map((e) => e.style.display = "none") } else { const authorDivs = document.querySelectorAll(".author") for (const e of authorDivs) { if (alertList.indexOf(e.innerText) != -1) { e.style.color = "red" e.offsetParent.style.border = "1px solid red" } } }