您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Completly blocks users in FxP
当前为
// ==UserScript== // @name FxP Block+ // @namespace http://tampermonkey.net/ // @version 0.1 // @description Completly blocks users in FxP // @author DaCurse0 // @copyright 2017+, DaCurse0+ // @match https://www.fxp.co.il/* // @grant none // ==/UserScript== const factoryDefaults={blocked:[],dba:''},Parser=new DOMParser,Data=getLocalData();function get_userid(a){return new Promise(async(b,c)=>{let d=await $.get(`https://www.fxp.co.il/member.php?username=${a}`),e=Parser.parseFromString(d,'text/html');try{let f=$(e).find('.userprof_content>dl>dd>a').attr('href').substr(35);b(f)}catch(f){c('User doesn\'t exist')}})}function get_username(a){return new Promise(async(b,c)=>{let d=await $.get(`https://www.fxp.co.il/member.php?u=${a}`),e=Parser.parseFromString(d,'text/html'),f=$(e).find('.member_username').text().trim();''===f?c('User doesn\'t exist'):b(f)})}function getLocalData(){let a;try{a=JSON.parse(localStorage.fxpblockplus)}catch(b){a=factoryDefaults}return a}function saveData(){localStorage.fxpblockplus=JSON.stringify(Data)}function menuOption(){let a=$('#yui-gen0').children().last().prev(),b=$('<div>').append(a.clone()).html();a.before(b),a.before('<div style="height: 15px;"><a href="javascript:" id="blockplus">\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA Block+</a></div>')}function createMenu(){let a=`<style> #blockplus-menu { width: 400px; height: 350px; z-index: 9999; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; } #blockplus-menu > div { margin: 10px; } #blocked-users { width: 100%; min-height: 200px; margin-bottom: 5px; } #blockplus-menu button { padding: 5px 10px; font-size: 12pt; margin-bottom: 8px; } #userblockname { width: 83%; height: 28px; font-size: 14pt; border: solid 1px #6b91ab; outline: none; } #adduser { float: left; } #remusers, #closeusers { width: 100%; } </style>`;$('head').append(a);let b=`<div id="blockplus-menu" style="display: none;"> <div> <label for="blocked-users">משתמשים חסומים:</label> <select multiple id="blocked-users"> </select> <input type="text" id="userblockname" /> <button id="adduser">הוסף</button><br/> <button id="remusers" disabled>מחק בחירה</button> <button id="closeusers" onclick="$('#blockplus-menu').hide()">סגור</button> </div> </div>`;$('body').append(b),bindEvents(),refreshUsers()}function refreshUsers(){$('#blocked-users').children().remove(),Data.blocked.forEach(async a=>{let b=await get_username(a);$('#blocked-users').append(`<option>${b} - ${a}</option>`)})}function bindEvents(){$('#blockplus').click(()=>{$('#blockplus-menu').show(),$('#yui-gen1').get(0).click()}),$('#adduser').click(async()=>{$('#adduser').attr('disabled',!0);let b,a=$('#userblockname').val();try{$('#userblockname').val(''),b=await get_userid(a)}catch(c){return alert('\u05D4\u05DE\u05E9\u05EA\u05DE\u05E9 \u05D4\u05D6\u05D4 \u05DC\u05D0 \u05E7\u05D9\u05D9\u05DD \u05D0\u05D5 \u05E9\u05D4\u05D5\u05D0 \u05D1\u05D1\u05D0\u05DF!'),void $('#adduser').removeAttr('disabled')}return $('#adduser').removeAttr('disabled'),Data.blocked.includes(b)?void alert('\u05D4\u05DE\u05E9\u05EA\u05DE\u05E9 \u05D4\u05D6\u05D4 \u05DB\u05D1\u05E8 \u05E7\u05D9\u05D9\u05DD \u05D1\u05E8\u05E9\u05D9\u05DE\u05EA \u05D4\u05D7\u05E1\u05D5\u05DE\u05D9\u05DD!'):void(Data.blocked.push(b),refreshUsers())}),$('#blocked-users').change(()=>{let a=$('#blocked-users').val();null===a?$('#remusers').attr('disabled',!0):$('#remusers').removeAttr('disabled')}),$('#remusers').click(()=>{let a=$('#blocked-users').val();if(null!==a){let b=[];a.forEach(c=>{b.push(c.split(' - ')[1])}),Data.blocked=Data.blocked.filter(c=>{return-1===b.indexOf(c)}),refreshUsers(),$('#remusers').attr('disabled',!0)}}),blockUsers()}function blockUsers(){let a=location.pathname;'/forumdisplay.php'===a&&$('.threadbit').each((b,c)=>{let d=$(c).find('.label a').attr('href');Data.blocked.forEach(e=>{d.includes(e)&&$(c).remove()})})}function Init(){$(window).unload(()=>{saveData()}),menuOption(),createMenu()}$(Init);