您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
屏蔽特定用户
- // ==UserScript==
- // @name Jandan user blocker
- // @namespace jandan.net
- // @name:zh-CN 煎蛋屏蔽用户
- // @version 0.1
- // @description block Jandan users
- // @description:zh-cn 屏蔽特定用户
- // @author Suzuhana
- // @match http://jandan.net/pic
- // @match http://jandan.net/pic/*
- // @grant none
- // ==/UserScript==
- (function () {
- 'use strict';
- const localStorage = window.localStorage;
- let blockList = localStorage.getItem('blockList')
- ? JSON.parse(localStorage.getItem('blockList'))
- : [];
- const commentList = document.querySelector('ol.commentlist');
- const posts = document.querySelectorAll("ol.commentlist li[id^='comment']");
- const postsArr = Array.from(posts);
- const filteredPosts = postsArr.filter((ele) => {
- let shouldBeFiltered = false;
- blockList
- .map((ele) => ele.userId)
- .forEach((blockedId) => {
- if (
- ele
- .querySelector('div.author > strong')
- .getAttribute('title')
- .includes(blockedId)
- ) {
- shouldBeFiltered = true;
- }
- });
- return !shouldBeFiltered;
- });
- //empty nodeList and repopulate with filtered comments
- commentList.innerHTML = '';
- filteredPosts.forEach((ele) => {
- //Grab user name and user id;
- const userNode = ele.querySelector('div.author > strong');
- const userName = userNode.innerText;
- const userId = userNode.getAttribute('title').split(':')[1];
- //Create a Button for blocking user
- const blockButton = document.createElement('BUTTON');
- blockButton.innerHTML = 'Block this User';
- blockButton.addEventListener('click', () => {
- blockList.push({
- userId,
- userName,
- });
- localStorage.setItem('blockList', JSON.stringify(blockList));
- //TODO: could be replaced with better option
- location.reload();
- });
- ele.querySelector('div.author').appendChild(blockButton);
- commentList.appendChild(ele);
- });
- //reset blocklist
- const resetButton = document.createElement('BUTTON');
- resetButton.innerHTML = 'Release the trolls';
- resetButton.addEventListener('click', () => {
- blockList = [];
- localStorage.removeItem('blockList');
- //TODO: could be replaced with better option
- location.reload();
- });
- resetButton.style = 'float: right';
- document.querySelector('div.cp-pagenavi').appendChild(resetButton);
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址