Fuck ZhiHu Anonymous Users

block anonymous users in zhihu

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==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);


})();