Naver Cafe Hide blacklist
当前为
// ==UserScript==
// @name Naver Cafe Blacklist Userscript
// @namespace BossLeader
// @version 1.1.4
// @require
// @description Naver Cafe Hide blacklist
// @author BossLeader
// @match http://cafe.naver.com/*
// @grant none
// ==/UserScript==
if (sMode == "WIDGET") {
var nDiffTop = $("lm-list").scrollTop;
var nHeightElement = Event && Event.ready ? Event.ready(e).element.offsetHeight : 13;
nDiffTop = -(nDiffTop == 0 ? 0 : nDiffTop - nHeightElement);
oCL.show(sNewID, e, nDiffTop);
} else {
if(top.$("cafe_main").__show && top.$("cafe_main").__show == true)
oCL.show(sNewID, e);
}
}
function uiFactoryObject2() {
var a;
this.setParameter = function(f, k, g, c, h, e, b, d) {
}
window.localStorage.setItem("blockedID", blockedID);
window.localStorage.setItem("blockedName", blockedName);
top.$('cafe_main').SetBFilter();
return false;
}
function GoogleSearch(s) {
uiFactory.hideUi();
window.open(encodeURI('http://www.google.com/search?q='+s));
return false;
}
d.appendChild(this.setMenuItem2('#차단하기#', true, AddBlackList));
d.appendChild(this.setMenuItem2(g.p_nickname, true, function(){ GoogleSearch(g.p_nickname); } ));
d.appendChild(this.setMenuItem2(g.p_memberid, false, function(){ GoogleSearch(g.p_memberid); } ));
d.appendChild(this.setMenuItem2('comment - not yet', true));
//d.appendChild(this.setMenuItem2('lv: '+g.lv_open_type, false, g));
//d.appendChild(this.setMenuItem2('clubid: '+g.p_clubid, false, g));
//d.appendChild(this.setMenuItem2('memberinfo: '+g.p_memberinfo, false, g));
//d.appendChild(this.setMenuItem2('entireBoardStaff: '+g.p_entireBoardStaff, false, g));
//d.appendChild(this.setMenuItem2('memberleveluse: '+g.p_memberleveluse, false, g));
}
function Ready(){
$("front-img").innerHTML = 'Iframe is loaded.';
var x = $('cafe_main');
var y = (x.contentWindow || x.contentDocument);
if (y.document) y = y.document;
x.__show = false;
x.SetBFilter = function() {SetBFilter(); };
var articlelist = y.querySelector('form > .board-box > tbody');
var ListInfo = [];
if (articlelist) {
for (i = 0; i < articlelist.childElementCount; i++) {
var p_memberid, p_nickname, p_title, p_href, articlelistindex;
var nicka = articlelist.children[i].querySelector('.p-nick a');
p_nickname: p_nickname,
p_title: p_title,
p_href: p_href,
articlelistindex: articlelistindex
};
}
}
function shownhide(num, nFilterState) { // 0: showall 1: black 2: hide
if(!articlelist) return;
if (nFilterState == 1) {
articlelist.children[num].style = 'background-color:#505050;';
} else {
articlelist.children[num].style = '';
//articlelist.children[num+1].style = '';
}
}
//alert(ListInfo.length + ' ' + ListInfo[1].p_memberid);
function SetBFilter() {
if(!articlelist) return;
function BFilter() {
var blockedID = storage.getItem("blockedID").split(",");
var blockedName = storage.getItem("blockedName").split(",");
var nFilterState = Number(storage.getItem("nFilterState"));
if (blockedID[0] === null || blockedID[0] === '') {
//alert('BlockedUsers : 0');
for (i = 0; i < ListInfo.length; i++) {
shownhide(ListInfo[i].articlelistindex, 0);// 0: showall 1: black 2: hide
}
ToggleFilter.text = '필터 OFF...';
return;
}
var cnt = 0;
for (i = 0; i < ListInfo.length; i++) {
if (blockedID.indexOf(ListInfo[i].p_memberid) == -1) {
}
if (nFilterState == 0) {
ToggleFilter.text = '필터 OFF...';
} else {
ToggleFilter.text = '필터'+nFilterState+' ON (차단: '+cnt+')';
}
};
BFilter();
var nMemberViewState = Number(storage.getItem("nMemberViewState"));
if (nMemberViewState == 0) {
for (i = 0; i < ListInfo.length; i++) {
var e = articlelist.children[ListInfo[i].articlelistindex].querySelector('span.aaa select');
if (e) {
op1.setAttribute('value', saaa.querySelector('a').href);
e.add(op1);
shownhide(ListInfo[i].articlelistindex, 2);
}
}
}
var z = y.querySelectorAll('.p-nick a');
var pop = false;
for (i = 0; i < z.length; i++) {
// if(z[i].getAttribute("onclick") == null) {dsfsdf();}
var str = (z[i]?(z[i].getAttribute("onclick")?z[i].getAttribute("onclick").replace('ui(','ui2('):''):'');
//z[i].getAttribute("onclick").replace('ui(','ui2(') ;
if (str == '') pop = true;
z[i].setAttribute('onclick',ui2.toString()+uiFactoryObject2.toString()+str);
}
if (pop && z[0] && z[0].getAttribute("onclick") ) { z[0].click(); }
//alert(z[0].getAttribute("onclick"));
function toBool(a) { return ("false" === a) ? false : true; }
var storage = window.localStorage;
CheckUserData(storage);
var ShowBlackList, ResetBlackList, ToggleFilter, btnMemberView;
//헤드에 AddButton
var head = y.querySelector('.fr');
if (head){
var line = head.querySelector('span.fl');
if (line) {
function addButton(str, id){
//구분자.
var fl = line.cloneNode(true);
head.insertBefore(fl, head.childNodes[0]);
//버튼1 - Show BlackList
if (id == '') return;
var d = document.createElement('div');
d.setAttribute('id',id);
d.style = 'float: left; margin-top: 3px; margin-right: 5px;';
var sa = document.createElement("a");
sa.setAttribute('href','#');
var t = document.createTextNode(str);
sa.appendChild(t);
d.appendChild(sa);
head.insertBefore(d, head.childNodes[0]);
return sa;
}
ShowBlackList = addButton('차단목록 보기', 'ShowBlackList');
ShowBlackList.onclick = function() {
var blockedID = storage.getItem("blockedID").split(",");
var blockedName = storage.getItem("blockedName").split(",");
if (blockedID[0] === null || blockedID[0] === '') {
alert('BlockedUsers : 0'); return false;
}
var str = 'BlockedUsers : '+blockedID.length+'\r';
for (i = 0; i < blockedID.length; i++) {
str = str + blockedName[i] + '/' + blockedID[i] + '\r';
}
alert(str); return false;
};
ResetBlackList = addButton('목록 초기화', 'ResetBlackList');
ResetBlackList.onclick = function() {
var txt;
var r = confirm("차단 목록을 삭제합니다! \r삭제된 목록은 복구할 수 없습니다!");
if (r == true) {
storage.setItem("blockedID","");
storage.setItem("blockedName","");
storage.setItem("nFilterState", 0);
storage.setItem("nMemberViewState", 0);
SetBFilter();
} else {
txt = "You pressed Cancel!";
}
return false;
};
ToggleFilter = addButton('필터ON/OFF', 'ToggleFilter');
ToggleFilter.onclick = function() {
var nFilterState = Number(storage.getItem("nFilterState"));
nFilterState++; if (nFilterState > 2) { nFilterState = 0; }
storage.setItem("nFilterState", nFilterState);
SetBFilter();
return false;
};
SetBFilter();
addButton('','');
btnMemberView = addButton('모아보기', 'btnMemberView');
btnMemberView.onclick = function() {
var nMemberViewState = Number(storage.getItem("nMemberViewState"));
nMemberViewState++; if (nMemberViewState > 1) { nMemberViewState = 0; }
storage.setItem("nMemberViewState", nMemberViewState);
SetBFilter();
return false;
};
}
}
x.__show = true;
//$(posts).each(function (){});//for debug
function CheckUserData(storage)
{
// create default values if there isnt any storage (on first run)
if (storage.getItem("blockedID") == null){
storage.setItem("blockedID", "");
}
if (storage.getItem("blockedName") == null){
storage.setItem("blockedName", "");
}
if (storage.getItem("nFilterState") == null){
storage.setItem("nFilterState", "0");
}
if (storage.getItem("nMemberViewState") == null){
storage.setItem("nMemberViewState", "0");
}
}
}
var a = document.getElementById('cafe_main');
if (a) a.addEventListener("load", Ready);