I use this... so much more effective
Code:
// ==UserScript==
// @name GFY
// @version 1.0
// @description Properly block irritating users
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// @include https://gfy.com/*
// @include http://*.gfy.com/*
// @include https://gfy.com/*
// @include https://*.gfy.com/*
// @grant none
// ==/UserScript==
function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "window.jQ=jQuery.noConflict(true);(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}
function main() {
var annoyingUsers = ['Bladewire'];
for (var i = 0; i < annoyingUsers.length; i++) {
jQ("li.imodselector")
.show()
.has("span.label:contains("+annoyingUsers[i]+")")
.hide();
jQ("li.threadbit")
.show()
.has("span.label:contains("+annoyingUsers[i]+")")
.hide();
}
}
// load jQuery and execute the main function
addJQuery(main);
(function() {
var allT;
var allR;
var plonk = new Array();
var ignore_threads_from = ["Bladewire"];
for (var i = 0; i < ignore_threads_from.length; i++){
plonk[ignore_threads_from[i]] = ignore_threads_from[i];
}
allT = document.getElementsByTagName('table');
for (var i = 0; i < allT.length; i++) {
if(allT[i].innerHTML.match("<div>[^]*This message is hidden because <strong>(\w+)<\/strong> is on your <a href=\"profile")){
allT[i].style.display="none";
//Add ignored user to list of ignored users
plonk[RegExp.$1] = RegExp.$1;
}
}
// Remove posts that quote a user on the ignore list
for (var i = 0; i < allT.length; i++) {
for (var x in plonk) {
if(allT[i].innerHTML.match("Originally Posted by <strong>"+plonk[x]+"</strong>")){
allT[i].style.display="none";
}
if(allT[i].innerHTML.match("<div>[^]*This message is hidden because <strong>"+plonk[x]+"<\/strong> is on your <a href=\"profile")){
allT[i].style.display="none";
}
if(allT[i].innerHTML.match("<a.*>"+plonk[x]+"</a>[^]*?<img.*alt=\""+plonk[x])){
allT[i].style.display="none";
}
}
}
allR = document.getElementsByTagName('tr');
// Remove posts started by a user on the ignore list
for (var i = 0; i < allR.length; i++) {
for (var x in plonk) {
if(allR[i].innerHTML.match("<span .*>"+plonk[x]+"</span>")){
allR[i].style.display="none";
}
}
}
})();