maskQA

maskQA (C)opyright kuroao_cats.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name        maskQA
// @namespace   kuroao_cats
// @description maskQA (C)opyright kuroao_cats.
// @include     http://list.chiebukuro.yahoo.co.jp/*
// @include     http://chiebukuro.yahoo.co.jp/dir/*
// @include     http://detail.chiebukuro.yahoo.co.jp/qa/*
// @exclude     http://detail.chiebukuro.yahoo.co.jp/qa/answer.*
// @exclude     http://detail.chiebukuro.yahoo.co.jp/qa/ans_confirm.*
// @grant       none
// @version     1.1.0.0
// ==/UserScript==

//-- blockUsers
var blockUsers = [
   'lu_lu','1u','0l_09','kimo_lulu','sssaaqqw'
   ,'awxccmax','esuesuman','eeboxcar','youma','qmejw_311'
   ,'a1_b2_c3','ymax','andor_mll','aicjamiam','dark19'
   ,'pqalkmnjbvcx','snqqcsnv','a1_a2_a3','azexwwxv','cachoufugetu'
   ,'poppullllrin','ebisugarando','bichobicho_betobeto','teka_teka_niko_niko','majimeyume'
   ,'lyze108max','bxiivz','smmicvikkic','anmominohana','jujujulylue'
   ,'toppo333','yhkgbovx','ddmafjkkxvloiyrsglkjhd','rara0079','himitsunohimitsu110'
   ,'amission201','fijiten222','kbmbgbtbzzz','asakawa_manabu','candys_300'
   ,'zmm312ssqv','0l09','eroeroeru','kuroao_cats_311','princess_aya_l8'
   ,'aruaruaburami','kirin_azabuu','ufo_ufo_01_01','nameneco_net','alex_avex_afex'
   ,'kireinafuzinohana','ijimijimaa711','h_de_h_desu','goh_aida','a001vxx'
   ,'jingay687','mikisi9999','lonrlyfreeman309','ramumeko','huusuke'
   ,'aimiyume','fuufuusanggffdsa','aaggqqqqqqqqqxz','tomozokchiatama'
   ,'zzaadxzyasmsma','jkamll_aa','ffjk2ldk','meijizidai_a1_','fuyushougun_ol_'
   ,'ppgqkll22111','nagashimemeiii1211','zeebra_238','toden','ramrunram_02_'
   ,'kkdfaxvcz','shinichi0077121','conconcon00v','jkjkjcjcjdjd','spyspy'
   ,'aico_a27','shimonekama','neko05_abc','zyoushiki_kun','anatatasukiyo'
   ,'kutubera','sislasciviousness','mqmmjaxz','aabbchan','chuugasusey'
   ,'ddfydkss','jminnhmn','dqxvzmax','morinaga_a1_','ahfdswekx07'
   ,'nekamatsubusu','mmamisnnb','ddfjkx','kijimamata_oxv','svqqaww'
   ,'asppzvzxx','domkkkdan0812','uuuuufxuuuu','hentaidesugasoregananika','gaumdam007'
   ,'moko_muku_m1iz','kikkuback_0zxcv','nfkrskbcojptky','lilithpixyn0a','urifutasu_01_a1'
   ,'yo_y_yo_nets','precious_yuuko_11_','xnbmaxzppe0i','kuroao_cats_from_hell_','uuuuufxuuuu'
   ,'nekamahanter007x','lasavesdepresa','candys_310','smsmsmsukisuki','qqwwesaavx'
   ,'teke_teke_niko_niko','ffannvz001','teke_teke_niko_niko1','asditxvvx20x50','mqmmjaxz'
   ,'maetajxxxx','fuufuusanggffdsa','ramrunram_02_02','zenkoku_seiha_2oo5','nekamahanter007x'
   ,'lasavesdepresa','ssxffwsppll_oa1','mmmaqv84xa','jinjimkim112','eroeroaruwanaa'
   ,'hinata_meno2','jjkklmn1278','amegafuranumiyako','yumuyumu0800','bump_pppp_xxx'
   ,'aqwestside_zzz7','nekamaassassins','western1852','tetsizin28gou_0077','xa1g612ifihi'
   ,'kinkin270611','asppzvzxx227','aqqxwasbm','yuuri_susuki','qqqsvxmn211'
   ,'amission2011','mumimamemi441','qmejw_311_01','mnmejw_3ll33','mimimumumeme080'
   ,'amission2010','bbbxxxzzzyyy111222333','ginginganagn','lilith_guilty','assgfklqdv221'
   ,'ppidyindiyn','kinkinkimmm','nekamahunter007','cqxvghy664','joon_ho88x'
   ,'ayameikitenba','tomozokichiatame','cai_masaaki','rinkahanahina','masa_629_yu'
   ,'kusai_kirai_lulu','mavxx01_01','akkk541mmvad','huusuke0619','nekkkkammmmlulunnnn'
   ,'komagomamacakoma','lasacawa_ran','sokusanjyo','revive_zombie','tomozokichiatama'
   ,'cat71961','tomozou_sakura_99','f200updown2012','hiyocham_900','sislasciviousness11247'
   ,'tomozosukeatma','fmv22fa22xa','doemukibitskun','yamyanjam541','ffgvsmdogb'
   ,'zzzagdndjhh','jybf38n','ddmafjkkxvloiyrsglkjhd157','sssxxx_zmmm_9513','kaneta1919'
   ,'scvbmnnnan','llmncxjjwr','maiku_and_pu','a6h8b','raguna5819'
   ,'jjvmzzx','gururunken','speciai_thanks_jp999','bsgifu12','sinjihareikonomono'
   ,'kkavbsc','shiawase_tsukamu','kasccawamran_002','onugawara_gonzou','kaiisakurambo_11_26'
   ,'stopshot0211','lala_lala_lanlan','yuuiuuzzcv','manmandownqqup2011','byakrey'
   ,'netmet_mnet','makorin8102','candys_312','kumoyannkumo','zoetehoningpot'
   ,'tomozou_sakura_100','kimchi00002','mmiikljm','fan_ta_giii','ketukusai_haru73133'
   ,'wsetern1852','aiambeechan','phenix918power','trampled_underfoot_314','tawakemononoumasika'
   ,'urutora_keibitai2012','slneslnedan','kltlkltlrand','akaitanuki_zawawawa','mhgfkkkei'
   ,'short_hope2011','kiiroinanohana0405','lulukitizou','mekamano_lulu','ichihara_katsuya'
   ,'aamuramuramura007','natsuko_1997_11_26','feilx20100825148','asago_tuyu_izuresak','tomozo_kichlat'
   ,'clockworksuika','www_mam_www_0852251938','precious_yuuko_11_27','hass375','okikuchan005a'
   ,'blueberrycystine02','mmmvxmmm00x0','nekamadaiou_lulu_01_09','seiseisekiki','kinzo_takahashi'
   ,'komutai_tk','black_alligator_a1_a1','zzcvb1ll','nekamayoukohunter1','ketukusaizoharu'
   ,'nekamayoukohunter19','nekamayoukohunter18','a1_a2_a3_0007','hirotanukiip','aahsksjshdhdhd'
   ,'tairenyasu_x','kikmmmkik4','moon_princess_kaguya001'
   ,'zituni_kudaranai','viponline20130','wasse','qqwsa39','omaeha'
];
//--

blockUsers.push(
   "kuroao_cats_from_",
   "lulu_01_09_","_lulu_01_09",
   "_lulu_1_9", "lulu_1_9_"
);

var whiteUsers = [
   "lulu_1_9",
   "lulu_01_09",
   "kuroao_cats_from_hell"

];

var blockUserCount = blockUsers.length;
var clearAll = false;
//var clearAll = true;

/******************************************/
var txtColor = "silver";
var txtSize = "50%";


function isBlockUser(uid) {

   if (isWhiteUser(uid)) { return false; }

   for (var i=blockUserCount;i>=0;i--) {
      if (-1 < uid.indexOf(blockUsers[i])) {
         return true;
      }
   }

   return false;
}

function isWhiteUser(uid) {
   for (var i=whiteUsers.length; i>=0;i--) {
     if (uid == whiteUsers[i]) {
        return true;
     }
   }
   return false;
}

function clearQ(item) {
   var parent = item.parentNode;
   parent.removeChild(item);
   
}

function maskQ(item) {
   q = item.childNodes[1]; 

   qtxt = q.childNodes[1];
   qtxt.style.fontSize=txtSize;
   qtxt.style.color=txtColor;              

}

function maskQOnAllTab(item) {
   q = item.childNodes[1]; 

   qtxt = q.childNodes[1];
   qtxt.style.fontSize=txtSize;
   qtxt.style.color=txtColor;              

}

function clearA(item) {
   var d=item.parentNode;
   d.removeChild(item);
   
}

function maskA(item) {
   var ans=item.getElementsByClassName("queTxt")[0];
   ans.style.color=txtColor;
   ans.style.fontSize=txtSize;
   var p = item.getElementsByClassName("ptsImg");
   if (null != p && 0 < p.length) {
      var img = p[0].getElementsByTagName("img")[0];
      img.width=15; img.height=15;
   }
   
}

function getLoginId() {
   try {
     return document.getElementById("msthdLoginName").innerHTML;
   } catch (e) {
     return "";
   }
}

function maskQuestion() {

  var loginId = getLoginId();

  var newName = document.getElementsByClassName("newName");
  if (0 < newName.length) {
    var uid = newName[0].innerHTML;
    if (uid != loginId) {
      if (isBlockUser(uid)) {
        var qa = document.getElementById("respondentQa");
        if (clearAll) { 
           qa.innerHTML = "";
        } else {
           qa.style.color=txtColor;
           qa.style.fontSize=txtSize;
        }
      }
    }
  }

  var maskFunc = null;
  if (clearAll) {
     maskFunc = clearQ;
  } else {
     maskFunc = maskQ;
  }

  var div = document.getElementById("open-tab");
  if (null == div) div = document.getElementById("vote-tab");
  if (null == div) div = document.getElementById("resolved-tab");
  if (null == div) { 
      div = document.getElementById("all-tab");
      if (!clearAll) maskFunc = maskQOnAllTab;
  }
  var liList = div.getElementsByTagName("li");
  for (var i=liList.length-1; i>=0; i--) {
    var ln = liList[i];
    var u = ln.getElementsByTagName("a");
    var uid = "ID非公開";
    if (u.length > 1) {
      uid = u[1].textContent;
    }
    if (uid != loginId) {
      if (isBlockUser(uid)) {
         maskFunc(ln, txtColor);
      } 
    }
  }
}


function maskAnswer() {
  if (clearAll) {
     maskFunc = clearA;
  } else {
     maskFunc = maskA;
  }
  var loginId = getLoginId();
  var qaList = document.getElementsByClassName("othrAns");   
  for (var i=qaList.length-1; i>=0; i--) {
    var p = qaList[i].getElementsByClassName("usrNm");
    if (null != p && 0 < p.length) {
      var em = null;
      if (p[0].childNodes.length < 3) { 
         em = p[0].childNodes[0];
      } else { 
         em = p[0].childNodes[1];
      }

      var uid = em.innerHTML;       
      if (uid != loginId) {
      
        if (isBlockUser(uid)) {
           
            maskFunc(qaList[i]);
        }
      }       
    }
  }
   
  var cmntList = document.getElementsByClassName("mdCmnt");
  for (var i2=cmntList.length-1; i2>=0; i2--) {
    var qaList = cmntList[i2].getElementsByClassName("usrQstn");
    for (var i3=qaList.length-1; i3>=0; i3--) {
      var p = qaList[i3].getElementsByClassName("usrNm");
      var uid = p[0].childNodes[0].innerHTML;
      if (uid != loginId) {
        if (isBlockUser(uid)) {
          //maskFunc(cmntList[i2]);
          maskFunc(qaList[i3].parentNode);
        }
      } 
    }
  }
}

function main() {
  url = window.location.href;
  if (-1 < url.indexOf("list.chiebukuro")) {maskQuestion();}
  if (-1 < url.indexOf("/dir/list")) {maskQuestion();}
  if (-1 < url.indexOf("detail.chiebukuro")) {maskAnswer();}
}

/******************************************/

main();