Greasy Fork

Greasy Fork is available in English.

巴哈姆特-場外休憩區--隱藏廢文

目前为 2016-06-23 提交的版本,查看 最新版本

// ==UserScript==
// @name        巴哈姆特-場外休憩區--隱藏廢文
// @namespace   hbl917070
// @include     http://forum.gamer.com.tw/C.php?bsn=60076*
// @include     http://forum.gamer.com.tw/C.php?page=*&bsn=60076*
// @version     1
// @grant       none
// @description:zh-tw +++
// ==/UserScript==


var int_回文小於特定長度 = 2;//小於等於2個字就隱藏回文
var int_留言小於特定長度 = 0;

var s_要被過濾的文字 = ["私", "私私", "禾厶", "ㄙ", "ㄙㄙ", "斯",
                        "戰歌", "戰哥", "單戈哥欠", "泰瑞",
                        "卡", "car", "CAR",
                        "推"];




var int_留言 = 0;
var int_回文 = 0;


//隱藏回文
var obj_1 = document.getElementsByClassName("FM-cbox1");
for (var i = 0; i < obj_1.length; i++) {

    try {
        var obj_展開留言 = obj_1[i].getElementsByClassName("FM-cbox10D")[0].getElementsByTagName("a")[0];
        obj_展開留言.onclick = fun_隱藏留言;
    } catch (e) { }


    var s = obj_1[i].getElementsByClassName("FM-cbox7")[0].innerText.replace(/ /g, "").replace(/\r/g, "").replace(/\n/g, "");

    if (obj_1[i].getElementsByClassName("FM-cbox7")[0].getElementsByTagName("img")[0] === undefined)
        if (obj_1[i].getElementsByClassName("FM-cbox7")[0].getElementsByTagName("iframe")[0] === undefined)
            if (s.length <= int_回文小於特定長度) {
                fun_隱藏物件(obj_1[i], "回文");
                continue;
            }

    for (var j = 0; j < s_要被過濾的文字.length; j++) {
        if (s == s_要被過濾的文字[j]) {
            fun_隱藏物件(obj_1[i], "回文");
            break;
        }
    }

}


fun_隱藏留言();



function fun_隱藏留言() {

    setTimeout(function () {

        var obj_1 = document.getElementsByClassName("FM-cbox10A");
        for (var i = 0; i < obj_1.length; i++) {

            //取得留言內容
            var s = obj_1[i].innerText;
            var len2 = obj_1[i].getElementsByTagName("a")[0].innerText.length;//扣掉名字
            var len3 = obj_1[i].getElementsByTagName("span")[0].innerText.length;//扣掉時間
            var len_but = (obj_1[i].getElementsByTagName("button").length == 1) ? 4 : 6;//扣掉按鈕

            s = s.substring(len2 + len_but, s.length - len3).replace(/ /g, "").replace(/\r/g, "").replace(/\n/g, "");

            if (s.length <= int_留言小於特定長度) {
                fun_隱藏物件(obj_1[i], "留言");
                continue;
            }

            for (var j = 0; j < s_要被過濾的文字.length; j++) {
                if (s == s_要被過濾的文字[j]) {
                    fun_隱藏物件(obj_1[i], "留言");
                    break;
                }
            }

        }//for

        fun_更新按鈕();

    }, 2000);
}






function fun_隱藏物件(obj, ss) {
    if (obj.style.display != "none") {

        obj.style.display = "none";
        obj.style.background = "rgba(150,0,0,0.3)";

        if (ss == "留言") {
            int_留言++;
        } else {
            int_回文++;
        }
    }
}


function fun_更新按鈕() {

    if (int_留言 === 0 && int_回文 === 0) {
        document.getElementById("but_view").innerHTML = "";
    } else if (int_回文 === 0) {
        document.getElementById("but_view").innerHTML = "顯示:留言" + int_留言;
    } else if (int_留言 === 0) {
        document.getElementById("but_view").innerHTML = "顯示:回文" + int_回文;
    } else {
        document.getElementById("but_view").innerHTML = "顯示:留言" + int_留言 + "、回文" + int_回文;
    }

}




var bu = document.createElement("div");
bu.id = "but_view";
bu.onclick = fun_顯示;
bu.style.display = "inline";
bu.style.marginLeft = "10px";
bu.style.color = "rgb(255,150,150)";

var obj_搜尋框 = document.getElementsByClassName("TOP-search")[0];
obj_搜尋框.appendChild(bu);

fun_更新按鈕();


function fun_顯示() {

    //初始化
    document.getElementById("but_view").innerHTML = "";
    int_回文 = 0;
    int_留言 = 0;

    //回文
    var obj_1 = document.getElementsByClassName("FM-cbox1");
    for (var i = 0; i < obj_1.length; i++) {
        obj_1[i].style.display = "block";
    }

    //留言
    obj_1 = document.getElementsByClassName("FM-cbox10A");
    for ( i = 0; i < obj_1.length; i++) {
        obj_1[i].style.display = "block";
    }
}