建E网黑名单

2024/5/22 10:00:35

  1. // ==UserScript==
  2. // @name 建E网黑名单
  3. // @namespace Violentmonkey Scripts
  4. // @match https://3d.justeasy.cn/3dmodels/search*
  5. // @match https://club.justeasy.cn/designer/work/*
  6. // @grant none
  7. // @version 0.0.6
  8. // @author YeSilin
  9. // @license GPL-3.0-or-later
  10. // @icon data:image/x-icon;base64,AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3f/DyV4/1kmd/+nJnf/0iZ3/+sld//+JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld//wJnj/1yV4/7MneP9oKXr/GQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuA/wwmeP9/Jnj/8yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//CZ4/5kpev8ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKXr/MiV4/+Ild///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8meP/zJXn/UgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnef9OJXf/9iV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//id5/3YAAAAAAAAAAAAAAAAAAAAAAAAAACh4/zMld//2JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8od/9aAAAAAAAAAAAAAAAAK4D/DCV3/+Mld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///KHn//2+l//+hxP//X5v//yh5//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8leP/3JXz/KQAAAAAAAAAAJnn/gSV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//zJ///+Jtf//5u///////////////////+30//+pyf//YZz//yh5//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXj/sQAAAAAwgP8QJnf/9CV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//9Eiv//o8X///X5/////////////////////////////////////////////+/1//+sy///ZJ7//yl5//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yZ4/zUneP9bJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///XZr//77W///+/v////////////////////////////////////////////////////////////////////////H2//+uzP//ZZ///yp6//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yd3/4smd/+pJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///Knr//3eq///X5v////////////////////////////////////////////////////////////////////////////////////////////////////////P3//+xzv//aKH//yt7//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yZ4/9kleP/TJXf//yV3//8ld///JXf//yV3//8ld///JXf//yp6//+Quv//7PP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////P4//+z0P//a6L//y99//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//4md//tJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//9BiP//lr3//+ry//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3+//+Mtv//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yh5//9qov//wdj///39///////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v////////7+//98rf//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//z+H//+UvP//6PH///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////82gv//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///J3j//2eg//++1////f3////////////////////////////////////////////////////////////////////////+/v///////////////////////+/1//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8oef//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///PYb//5K7///n8P///////////////////////////////////////////////////v7////////+/v///////////////////////8zf//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//+dwv//sc7//1iX//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8neP//ZZ///73V///8/f///////////////////////////////////v7//////////////////////////////////5a9//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//9/r//////////////a6P//gbD//zF///8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//88hf//j7n//+bv/////////v7////////////////////////////////////////l7///aaH//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//9amP////////////////////////b5//+qyv//UZL//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yd5//+tzP///f3/////////////////////////////+fv//5i///8tfP//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//82gv///////////////////////////////////////9Pj//96rP//Lnz//yV3//8ld///JXf//yV3//8ld///JXf//yV3//9jnf/////////////////////////////G2///R4z//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///7fP/////////////////////////////////////////////8vf//6PF//9Kjv//JXf//yV3//8ld///JXf//yV3//9inf//////////////////8/j//3Gm//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///yNz/////////////////////////////////////////////////////////////zN///3Oo//8qev//JXf//yV3//9qov///////////////////////+Pt//+dwv//VpX//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///pMb////////////////////////////////////////////////////////////////////////u9P//m8H//0OK//9xp////////////////////////////////////////+nx//+kxv//NYH//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///f6////////////////////////////////////////////////////////////////////////////////////7+///l7///////////////////////////////////////////////////NID//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///LHv//3qs///W5f/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////p8f//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///WJf//7PQ///6/P/////////////////////////////////////////////////////////////////////////////////////////////////////////////D2f//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//86hP//kbr//+jx//////////////////////////////////////////////////////////////////////////////////////////////////+dwv//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yl5//9upP//yt7///////////////////////////////////////////////////////////////////////////////////////93qv//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//0yP//+nyP//9vn///////////////////////////////////////////////////////////////////////9Rkv//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//5K7//+Lt///M4D//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///Mn///4Wz///g6/////////////////////////////////////////////////////////39//8tfP//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//4Kx////////9fn//6TG//9Eiv//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///Yp3//8PZ/////////////////////////////////////////////+Dr//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//1qY///////////////////+/v//vdX//1uZ//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//1OT/////////////////////////////////////////////7nT//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//zJ////////////////////////////////////V5P//dan//yp6//8ld///JXf//yV3//8ld///JXf//2Cc/////////////////////////////////////////////5S8//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3///k7v///////////////////////////////////////+nx//+OuP//KHn//yV3//8ld///JXf//26k/////////////////////////////////////////////22k//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//+61P//////////////////////////////////////////////////MH7//yV3//8ld///JXf//3yt////////////////////////////////////////+fv//0KJ//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ufP//h7T//+vy////////////////////////////////////////KHn//yV3//8ld///JXf//4m1///////////////////////////////////y9///XZr//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8md//tJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yx7//+Dsf//5/D////////////////////////7/P//JXf//yV3//8ld///JXf//5e+/////////////////////////////+fw//9Lj///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8leP/TJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///Knr//36v///l7//////////////z9///JXf//yV3//8ld///JXf//6XH////////////////////////2ef//zyF//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//4md/+pJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8pef//eqz//+Hs///r8v//JXf//yV3//8ld///JXf//7LP///////////////////H3P//MX///yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yZ4/9kneP9bJXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yh5//9moP//JXf//yV3//8ld///JXf//7/X/////////////7LP//8qev//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yd3/4swgP8QJnf/9CV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//83g////////msD//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yZ4/zUAAAAAJnn/gSV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//9jn//+AsP//JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXj/sQAAAAAAAAAAK4D/DCV3/+Mld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//1iX//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8leP/3JXz/KQAAAAAAAAAAAAAAACh4/zMld//2JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8od/9aAAAAAAAAAAAAAAAAAAAAAAAAAAAnef9OJXf/9iV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//id5/3YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKXr/MiV4/+Ild///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8meP/zJXn/UgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuA/wwmeP9/Jnj/8yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//CZ4/5kpev8ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3f/DyV4/1kmd/+nJnf/0iZ3/+sld//+JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld///JXf//yV3//8ld//wJnj/1yV4/7Mlef9nKXr/GQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAH8AAPgAAAAAHwAA8AAAAAAPAADgAAAAAAcAAMAAAAAAAwAAgAAAAAABAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAABAACAAAAAAAEAAMAAAAAAAwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA/gAAAAB/AAA=
  11. // @description 2024/5/22 10:00:35
  12. // @run-at document-end
  13. // @grant GM_addStyle
  14. // @grant GM_setValue
  15. // @grant GM_getValue
  16. // ==/UserScript==
  17.  
  18. (function () {
  19. 'use strict';
  20.  
  21. // 通过链接查找作者id
  22. function getId(url) {
  23. const found = url.match(/(?<=\/)\w{32}(?=\.?)/)
  24. if (found) {
  25. return found[0]
  26. } else {
  27. return ''
  28. }
  29. }
  30.  
  31. // 数组去重
  32. function unique(arr) {
  33. return Array.from(new Set(arr))
  34. }
  35.  
  36. // 数组删除指定元素
  37. function delElement(arr, element) {
  38. let new_set = new Set(arr)
  39. new_set.delete(element)
  40. return [...new_set]
  41. }
  42.  
  43. console.log("黑名单开始执行")
  44.  
  45. // 设置默认黑名单列表
  46. const defaultBlacklist = ['eXY4WmV1cjB1ajF4bzBXNFFTR2hjZz09',
  47. 'K2dYd1hTekNEdlZKcjVDVE1WVkxmUT09',
  48. 'eVJ3cy9IaUF4TkhjT2pHVklXUjdzdz09',
  49. 'U0FFSHFtYTUyOTc5RDd3NlQ2MDVGQT09',
  50. 'Sk9qQ3kreG1wVU1Ic3RaVVprOXhCdz09',
  51. 'YzNVTUx0T2Mwa0JVTlFCNk1rQWRTQT09']
  52.  
  53.  
  54. // 获取黑名单列表
  55. let blacklist = GM_getValue("blacklist")
  56. // 如果没有就加载默认黑名单列表
  57. if (!blacklist) {
  58. blacklist = defaultBlacklist
  59. } else {
  60. // 拆开数组,追加多个值
  61. blacklist = blacklist.concat(defaultBlacklist)
  62. blacklist = unique(blacklist)
  63. GM_setValue("blacklist", blacklist)
  64. }
  65.  
  66. // 计算一下本次搜索拦截了多少个
  67. let conust = 0
  68.  
  69. // 如果是作者主页就加个黑名单按钮
  70. if (document.URL.indexOf('https://club.justeasy.cn/designer/work/') !== -1) {
  71. const id = getId(document.URL)
  72. if (!id) {
  73. alert('获取作者 id 失败!')
  74. return
  75. }
  76.  
  77. const homepage = document.querySelector('.homepage_right')
  78. const css = `
  79. #add-blacklist{
  80. width: 120px;
  81. height: 46px;
  82. margin-left: 20px;
  83. border-radius: 10px;
  84. color: #fff;
  85. font-size: 16px;
  86. }
  87. `
  88. GM_addStyle(css)
  89. if (blacklist.includes(id)) {
  90. homepage.innerHTML += `<button id='add-blacklist' data-blacklist='true' >已加黑</button>`
  91. homepage.querySelector('#add-blacklist').style.background = '#b1b1b1'
  92. } else {
  93. homepage.innerHTML += `<button id='add-blacklist' data-blacklist='false' >加黑</button>`
  94. homepage.querySelector('#add-blacklist').style.background = 'rgb(222 0 0)'
  95. }
  96.  
  97.  
  98. // 监听点击事件
  99. document.querySelector('#add-blacklist').addEventListener('click', function () {
  100. // 已加黑的点击可以取消加黑
  101. if (this.getAttribute('data-blacklist') === 'true') {
  102. this.setAttribute('data-blacklist', 'false')
  103. this.style.background = 'rgb(222 0 0)'
  104. this.innerText = '加黑'
  105. // 同步数据
  106. blacklist = delElement(blacklist, id)
  107. GM_setValue("blacklist", blacklist)
  108. } else {
  109. this.setAttribute('data-blacklist', 'true')
  110. this.style.background = '#b1b1b1'
  111. this.innerText = '已加黑'
  112. // 同步数据
  113. blacklist.push(id)
  114. GM_setValue("blacklist", blacklist)
  115. }
  116. })
  117. return
  118. }
  119.  
  120.  
  121.  
  122. // 每个元素需要执行的回调函数
  123. function eachHandler(element) {
  124. const info = element.querySelector("div.userInfo_footer > div.userInfo_info > a")
  125. // 如果没有找到元素就跳过本次循环,简单实现没有等待直接跳过,但这样容易漏掉黑名单
  126. if (!info) {
  127. return
  128. }
  129. // 找到作者id
  130. const id = getId(info.href)
  131.  
  132. // 黑名单列表是否包含
  133. if (blacklist.includes(id)) {
  134. conust++
  135. const name = element.querySelector("div.userInfo_footer > div.userInfo_info > a > div.name").innerText
  136. // console.log("找到了一个黑名单用户:" element.querySelector("div.userInfo_footer > div.userInfo_info > a > div.name").innerText + " " + href)
  137. console.log(`${conust} 黑名单:[${id}] ${name}`)
  138. // 直接删除
  139. element.remove()
  140. }
  141. }
  142.  
  143.  
  144.  
  145. // 当观察到变动时执行的回调函数
  146. function observerHandler(mutationsList, observer) {
  147. // 元素变化
  148. // console.log("页面变化了重新执行")
  149. // console.log(mutationsList)
  150.  
  151. mutationsList[0].addedNodes.forEach(eachHandler)
  152.  
  153. }
  154.  
  155. // 定时器回调函数
  156. function timerHandler() {
  157. // 选择要观察的元素列表
  158. const targetNode = document.querySelector("#grid")
  159. // console.log("开始寻找父元素")
  160. // console.log(targetNode)
  161. // 如果找到元素就清除定时器
  162. if (targetNode) {
  163. // console.log("找到了父元素")
  164. clearInterval(intervalId) // 清除定时器
  165.  
  166. const observerOptions = {
  167. childList: true, // 观察目标子节点的变化,是否有添加或者删除
  168. // attributes: true, // 观察属性变动
  169. // subtree: true, // 观察后代节点,默认为 false
  170. }
  171. // 实例化一个观察器
  172. let observer = new MutationObserver(observerHandler)
  173. // 开始观察目标节点
  174. observer.observe(targetNode, observerOptions);
  175. }
  176. }
  177.  
  178.  
  179. // 设置一个定时器
  180. const intervalId = setInterval(timerHandler, 1000)
  181. // 立刻执行一次
  182. timerHandler()
  183.  
  184. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址