Greasy Fork

Greasy Fork is available in English.

虎扑帖子关键词屏蔽

根据关键词屏蔽虎扑帖子

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         虎扑帖子关键词屏蔽
// @namespace    http://tampermonkey.net/
// @version      v0.2
// @description  根据关键词屏蔽虎扑帖子
//在"blockedList"里编辑需要屏蔽的关键词
//blockedStyle添加包含屏蔽关键词的html元素,数字表示向上的父元素层级,比如"div.titlelink>a"往上两级父元素是li,删除掉li就可以在你的页面上删除掉这一条帖子,这样做为了提高效率.
// @author         zhvxiao
// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
//设置里的用户排除,可以将你的专区排除.也就是不屏蔽帖子.
// @include        https://bbs.hupu.com/*
// ==/UserScript==    
var blockedList=[
    
    "C罗","内马尔","中超","中国","梅西"
];



var MyMap=function (){  
    this.mapArr={};  
    this.arrlength=0;  

    //假如有重复key,则不存入  
    this.put=function(key,value){  
        if(!this.containsKey(key)){  
            this.mapArr[key]=value;  
            this.arrlength=this.arrlength+1;  
        }  
    }  ;
    this.get=function(key){  
        return this.mapArr[key];  
    };

    //传入的参数必须为Map结构  
    this.putAll=function(map){  
        if(Map.isMap(map)){  
            var innermap=this;  
            map.each(function(key,value){  
                innermap.put(key,value);  
            }) ;
        }else{  
            alert("传入的非Map结构");  
        }  
    };
    this.remove=function(key){  
        delete this.mapArr[key];  
        this.arrlength=this.arrlength-1;  
    } ;
    this.size=function(){  
        return this.arrlength;  
    }  ;

    //判断是否包含key  
    this.containsKey=function(key){  
        return (key in this.mapArr);  
    }  ;
    //判断是否包含value  
    this.containsValue=function(value){  
        for(var p in this.mapArr){  
            if(this.mapArr[p]==value){  
                return true;  
            }  
        }  
        return false;  
    }  ;
    //得到所有key 返回数组  
    this.keys=function(){  
        var keysArr=[];  
        for(var p in this.mapArr){  
            keysArr[keysArr.length]=p;  
        }  
        return keysArr;  
    }  ;
    //得到所有value 返回数组  
    this.values=function(){  
        var valuesArr=[];  
        for(var p in this.mapArr){  
            valuesArr[valuesArr.length]=this.mapArr[p];  
        }  
        return valuesArr;  
    }  ;

    this.isEmpty=function(){  
        if(this.size()===0){  
            return false;  
        }  
        return true;  
    }  ;
    this.clear=function(){  
        this.mapArr={};  
        this.arrlength=0;  
    }  ;
    //循环  
    this.each=function(callback){  
        for(var p in this.mapArr){  
            callback(p,this.mapArr[p]);  
        }  

    }  ;
    this.isMap=function(map){  
        return  (map instanceof Map);  
    } ;

}  ;

var blockedStyle=new MyMap();
blockedStyle.put("div.titlelink>a",2);

$(document).ready(
    function()
    {
        init();
    }
);

function init(){
    blockedList.forEach(function(item,index,array)
                        {
        blockedStyle.each(function(key1,value1)
                             {
            $(key1+":contains("+item+")").each(function()
               {
				     my_parent=$(this);	
					for(var i=0;i<value1;i++)
					{
                        my_parent=my_parent.parent();
                       
					}
                my_parent.remove();
                console.log("屏蔽掉关于"+item+"的一条帖子");
            });
        });
    }
                       );
}