// ==UserScript== // fork from https://greasyfork.org/zh-CN/scripts/23197-知乎-隐藏你屏蔽的人补完 // @name zhihuBlockUsers // @namespace https://greasyfork.org/en/scripts/373444 // @version 0.191 // @description block user in zhihu. // @author neo_max24 // @match https://www.zhihu.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js // @require https://greasyfork.org/scripts/23268-waitforkeyelements/code/waitForKeyElements.js?version=147835 // @grant none // @downloadURL https://update.greasyfork.icu/scripts/373444/zhihuBlockUsers.user.js // @updateURL https://update.greasyfork.icu/scripts/373444/zhihuBlockUsers.meta.js // ==/UserScript== var numberOfUserPerBlockPage=6 var blockUserList={}; if(localStorage.blockUserList != undefined) { localStorage.blockUserList.split(',').forEach(function (e) { blockUserList[e] = true; }); } function PickingBlockUser(hNode) { //console.log('auto expand block edited botton'); //console.log(hNode); var editedBottons=hNode.getElementsByClassName("Button Button--link Button--withLabel"); //console.log(editedBottons); for (var i=0; i< editedBottons.length; i++) { if (editedBottons[i].innerText=="编辑") { //console.log(editedBottons[i]); editedBottons[i].click(); } } // block user var blockUserPage=document.getElementsByClassName("UserPage")[0]; var blockUserPageFooter=blockUserPage.getElementsByTagName('footer')[0]; // for debug //console.log(blockUserPageFooter); var numberOfBlockUserStr=blockUserPageFooter.innerText; var numberOfBlockUser=parseInt(numberOfBlockUserStr.replace(/[^0-9]/ig,"")); //console.log('numberOfBlockUser is '+numberOfBlockUser); var numberOfBlockUserPage=Math.ceil(numberOfBlockUser/numberOfUserPerBlockPage); //console.log('numberOfBlockUserPage is '+numberOfBlockUserPage); var allBlockUserList=new Array(numberOfBlockUser); var userPageI=0 var timer=null timer = setInterval(function(){ //console.log(userPageI,numberOfBlockUserPage); if (userPageI>numberOfBlockUserPage-1) { localStorage.blockUserList=allBlockUserList; // debug // console.log(allBlockUserList); // console.log(localStorage.blockUserList); for (var i=0; i< editedBottons.length; i++) { editedBottons[i].click(); } confirm('读取完成'); clearInterval(timer); } else { var $userList = $('a.UserPageItem-link'); for (var j=0;j<$userList.length;j++) { //console.log($userList[j]); allBlockUserList[(userPageI)*numberOfUserPerBlockPage+j]=$userList[j].getAttribute('href').replace('/people/', ''); } var $nextPageBotton=$('.UserPage-pagerRight'); $nextPageBotton.click(); } userPageI++; },1000); } $(function() { //console.log('### start of my user script ###'); if (window.location.href == 'https://www.zhihu.com/settings/filter'&&localStorage.blockUserList == undefined) { var hElement=document.getElementsByClassName("SettingsMain")[0].getElementsByTagName("h3"); var hNode=$(hElement); //console.log('first setup'); for (var i=0;i