block the user you don't want to see her reply.
当前为
// ==UserScript==
// @name CC98 Block
// @namespace http://tampermonkey.net/
// @version 0.1
// @description block the user you don't want to see her reply.
// @author kumiko
// @match *://www.cc98.org/topic/*
// @match *://www.cc98.org/newTopics
// @match *://www.cc98.org/focus
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant GM_setValue
// @grant GM_getValue
// @license AGPL-3.0
// @require https://greasyfork.org/scripts/2199-waitforkeyelements/code/waitForKeyElements.js?version=6349
// ==/UserScript==
let starttime=new Date();
console.log ("==> Script start.", starttime );
// 添加拉黑按钮
function addBtn(commentlike, user_message) {
let b = document.createElement('button');
b.textContent = '拉黑';
b.style.cssText = 'width: 25%;height: 25%; text-align: center; vertical-align:bottom; margin-left: 8px';
b.addEventListener('click', banUser);
b.user_message = user_message;
commentlike.appendChild(b);
}
// 删除当前回复
function removeReply(user_message) {
var user_name = user_message.text;
if (GM_getValue(user_name, false)) {
try {
user_message.offsetParent.remove();
console.log ("==> Rmove user's reply ", user_name );
} catch (e) {}
return true;
}
return false;
}
function banUser(event) {
var r = window.confirm('确认拉黑此用户?');
if (r) {
var user_name = event.currentTarget.user_message.text;
GM_setValue(user_name, true);
removeReply(event.currentTarget.user_message);
}
}
function fully_loaded() {
'use strict';
console.log('Begin Search Reply');
var replys = document.querySelectorAll('.reply');
console.log(replys);
console.log(document);
console.log(document.getElementById('0'));
replys.forEach(
function(el) {
debugger;
var user_message = el.querySelector('.userMessage-userName');
if (user_message) {
var commentlike = el.querySelector('#commentlike');
if (removeReply(user_message) == false) {
addBtn(commentlike, user_message);
}
}
}
);
}
function fully_loaded_hot() {
'use strict';
console.log('Begin Search Hot Reply');
var replys = document.querySelectorAll('[id^=hot]');
replys.forEach(
function(el) {
debugger;
var user_message = el.querySelector('.userMessage-userName');
if (user_message) {
var commentlike = el.querySelector('#commentlike');
if (removeReply(user_message) == false) {
addBtn(commentlike, user_message);
}
}
}
);
}
function fully_focus_loaded() {
'use strict';
console.log('Run script at focus or newTopic page');
var topics = document.querySelectorAll('.focus-topic');
topics.forEach(
function(el) {
var user_message = el.querySelector('.focus-topic-userName');
if (user_message) {
if (removeTopic(user_message) == false) {
}
}
}
);
}
function removeTopic(user_message) {
var user_name = user_message.textContent;
if (GM_getValue(user_name, false)) {
try {
user_message.parentElement.parentElement.remove();
console.log ("==> Rmove user's topic ", user_name );
} catch(e) {}
return true;
} else {
return false;
}
}
waitForKeyElements("#1", fully_loaded);
waitForKeyElements("#hot_0", fully_loaded_hot);
waitForKeyElements(".focus-topic-topicArea", fully_focus_loaded);
let endtime=new Date();
console.log ("==> Script end.", endtime );
console.log("script load in", endtime.getTime()-starttime.getTime(), "ms");