Uber Czarnolisto

Lepsza i zawsze dostępna czarna lista.

当前为 2015-10-26 提交的版本,查看 最新版本

// ==UserScript==
// @name         Uber Czarnolisto
// @namespace    http://www.wykop.pl/*
// @version      2.0
// @description  Lepsza i zawsze dostępna czarna lista. 
// @author       SiarkoWodór
// @include      http://www.wykop.pl/*
// @grant        none
// ==/UserScript==

//Mały dodatek, Otwieranie wszystkich treści z głównej w nowej karcie bez middleclicku
$("#itemsStream").find("a").attr('target',"_blank");

/*style*/
var height = $("#nav").height();
var background = "#2c2c2c";
var storage = localStorage;
var tags = JSON.parse( ((storage.getItem("tagList") !== null) ? storage.getItem("tagList") : "{}") );

var style = "\
#tagsMenu{\
position: fixed;\
top: 0px;\
left: 20px;\
width: 100px;\
height: "+height+"px;\
font-size: 15ps;\
line-height: "+height+"px;\
text-align: center;\
font-weight: bold;\
cursor: pointer;\
transition: background 0.3s;\
}\
#tagsMenu:hover{\
background: "+background+";\
}\
#tagsMenu.block{\
background: rgb(150, 150, 0);\
}\
#tagsMenu.block:hover{\
background: rgb(190, 190, 0);\
}\
#tagsMenuList{\
width: 100px;\
padding: 5px;\
position: fixed;\
top: "+height+"px;\
left: 20px;\
background: "+background+";\
display: none;\
overflow: hidden;\
}\
.tagsListItem{\
cursor: pointer;\
color: lime;\
}\
.tagsListItem:hover{\
font-weight: bold;\
}\
.blocked{\
color: red;\
text-decoration: line-through;\
}\
#tagsInput{\
padding: 0;\
height: 20px;\
background: #414141 !important;\
}\
#blockedCount{\
padding: 1px 3px 1px 3px;\
background: #FF5917;\
font-size: 12px;\
position: absolute;\
top: 10px;\
height: 14px;\
line-height: 12px;\
color: white;\
border-radius: 10%;\
text-shadow: 0 1px #900;\
box-shadow: 0 1px #900;\
}\
";

/* dołączenie elementów */

$("head").append("<style>"+style+"</style>");
$("#nav")
.append("<div id='tagsMenu'>")
.append("<div id='tagsMenuList'>");
$("#tagsMenu").html("Menu tagów<b id='blockedCount'>0</b>");
var button = $("#tagsMenu");
var list = $("#tagsMenuList");
var counter = $("#blockedCount");
var count = 0;
var o = false;

//Załadowanie zdjęć przez lazyload
function loadLazyload(){
    $("img.lazy").each(function(){$(this).attr("src",$(this).data("original"))});
    console.log("LAZY LOADED");
}
/* animacje widoczność */

if(storage.getItem('tagBlock') == "true"){
    button.addClass('block');
}
//Wyłączenie blokowania
function unblockAll(){
    $("#itemsStream").find("li.iC").css("display", "block");
}
//rejstracja kliknięcia PPM
button.on('contextmenu', function(ev) {
    if(storage.getItem('tagBlock') == "true"){
        button.removeClass('block');
        storage.setItem('tagBlock', "false");
        reload();
    }else{
        button.addClass('block');
        storage.setItem('tagBlock', "true");
        unblockAll();
        counter.text("Pauza");
    }
    return false;
});

button.mouseover(function(){
    list.css({ display: 'block' });
});
button.mouseleave(function(){
    setTimeout(function(){
        if(!o){
            list.css({ display: 'none' });
        }
    },100);
});
list.mouseenter(function(){
    o = true;
});
list.mouseleave(function(){
    list.css({ display: 'none' });
    o = false;
});
//Dodanie nie zapisanych tagów do storage
function reloadList(){
    list.html("");
    $.each(tags, function(k,v){
        if(storage.getItem(v) === null){
            storage.setItem(v, "true");
        }
        clas = ((storage.getItem(v) == "true") ? "" : "blocked");
        list.append("<div id='"+v+"' class='tagsListItem "+clas+"'>#"+v+"</div>");
    });
    list.append("<input type='text' placeholder='Nowy tag...' id='tagsInput'>");
    $("#tagsInput").keydown(function(e){
        if(e.keyCode == 32){
            addTag($("#tagsInput").val());
            $("#tagsInput").val("");
            $("#tagsInput").focus();
        }
    });
    $(".tagsListItem").click(function(){
        id = $(this).attr("id");
        state = storage.getItem(id);
        if(state === "true"){
            storage.setItem(id, "false");
            $(this).addClass("blocked");
        }else{
            storage.setItem(id, "true");
            $(this).removeClass("blocked");
        }
        if(storage.getItem('tagBlock') != "true"){
            reload();
        }
    });
    $(".tagsListItem").on("contextmenu", function(e){
        removeTag($(this).attr("id"));
        return false;
    });
}
reloadList();
function getList(){
    li = JSON.parse( ((storage.getItem("tagList") !== null) ? storage.getItem("tagList") : "{}") );
    li = $.map(li, function(el) { return el; });
    return li;
}
function saveList(li){
    storage.setItem("tagList", JSON.stringify(li));
    tags = JSON.parse( ((storage.getItem("tagList") !== null) ? storage.getItem("tagList") : "{}") );
    reloadList();
}
//nowy tag
function addTag(tag){
    li = getList();
    li.push(tag.trim());
    li.sort();
    saveList(li);
}
//usuwanie tagu
function removeTag(tag){
    li = getList();
    li.splice(li.indexOf(tag), 1);
    li.sort();
    saveList(li);
}
//przeładowanie tagów
function reload(){
    count = 0;
    $("#itemsStream").find("li.iC").each(function(i,v){
        th = $(this);
        var l;
        $.each(tags, function(a,b){
            if(th.text().indexOf(b) != -1 && storage.getItem(b) === "false"){
                th.css("display", "none");
                count++;
                l = true;
            }else if(!l){
                th.css("display", "block");
            }
        });
    });
    counter.text(count);
    loadLazyload();
}
if(storage.getItem('tagBlock') != "true"){
    reload();
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址