您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
为饭否网页端加入了本地屏蔽功能,只要消息转发链中包含屏蔽列表中的用户,就能屏蔽那条消息。(暂时不能考虑因为消息过长被挤掉的用户)
当前为
// ==UserScript== // @name Fanfou Local Blacklist // @namespace http://tampermonkey.net/ // @version 0.1 // @description 为饭否网页端加入了本地屏蔽功能,只要消息转发链中包含屏蔽列表中的用户,就能屏蔽那条消息。(暂时不能考虑因为消息过长被挤掉的用户) // @author You // @include http://fanfou.com/* // @grant GM.getValue // @grant GM.setValue // @run-at document-end // ==/UserScript== (function() { 'use strict'; GM.getValue('blacklist').then(function(list){ console.log(list); list = JSON.parse(list); if (window.location.pathname != '/home') { var url = window.location.pathname; var blocked = list.includes(url); var actions = document.querySelector('#panel .actions'); var addButton = document.createElement('a'); addButton.href = 'javascript:void(0);'; var setButton = function(b) { addButton.className = b?'bl':'bh'; addButton.text = b?'取消屏蔽':'本地屏蔽'; }; var clicking = false; addButton.onclick = function(e) { if (clicking) return false; clicking = true; if (blocked) { var index = list.indexOf(url); list.splice(index, 1); } else { list.push(url); } blocked = !blocked; setButton(blocked); GM.setValue('blacklist', JSON.stringify(list)); clicking = false; }; setButton(blocked); actions.appendChild(addButton); console.log('done'); } else { var messages = document.querySelector('#stream ol').children; for (var i=0; i<messages.length; ++i) { var message = messages[i]; var bad = false; var users = Array.from(message.querySelectorAll('.former')); users.push(message.querySelector('.author')); bad = bad || list.some(function(path){ return users.some(function(user){ return user.href.endsWith(path); }); }); //if (bad) message.remove(); } } }); })();