Fuck ZhiHu Anonymous Users

block anonymous users in zhihu

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Fuck ZhiHu Anonymous Users
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  block anonymous users in zhihu
// @author       miniJoy
// @match        https://www.zhihu.com/**
// @grant        none
// ==/UserScript==

(function() {
    'use strict';


function cleanUser() {
    var items = document.getElementsByClassName('List-item')
    for (var i = 0; i < items.length; i++) {
        var item = items[i];
        var name = item.getElementsByClassName('UserLink AuthorInfo-name')[0].innerText;
        //console.log(name, name === '匿名用户');
        if (name === '匿名用户') {
            item.hidden =true;
            //var context = item.getElementsByClassName('RichContent-inner');
            //context[0].innerText = "匿名用户,回答已经被自动屏蔽"
        }
    }
}

function cleanIndexUser() {
    if(document.getElementsByClassName('Topstory-recommend') === undefined ||
      document.getElementsByClassName('Topstory-recommend').length === 0 ||
      document.getElementsByClassName('Topstory-recommend')[0].firstChild === undefined) {
        // 当前页面可能不是首页, 因此不进行操作
        return;
    }

    var items = document.getElementsByClassName('Topstory-recommend')[0].firstChild;

    var child = items.firstChild;
    var last = items.lastChild;

    while(child != last){
        var info = child.getElementsByClassName('ContentItem AnswerItem');
        if(info[0]!== undefined){
            var name = JSON.parse(info[0].attributes[1].nodeValue).authorName;
            if (name === '匿名用户') {
                //console.log(JSON.parse(info[0].attributes[1].nodeValue))
                child.hidden = true;
            }
        }
        child = child.nextSibling;
    }
}

function cleanAll(){
    cleanUser();
    cleanIndexUser();
}


window.setInterval(cleanAll, 1000);


})();