您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
2023/12/29 13:23:53 微博搜索页面关键词屏蔽,隐藏包含关键词的微博
// ==UserScript== // @name 微博搜索屏蔽 // @namespace Violentmonkey Scripts // @match *://s.weibo.com/* // @grant GM_setValue // @grant GM_getValue // @version 1.0.1 // @author 木木(mumu) // @description 2023/12/29 13:23:53 微博搜索页面关键词屏蔽,隐藏包含关键词的微博 // @license MIT // ==/UserScript== var nameSpace = 'mumu-' // 在左侧显示当前搜索参数 function setSearchParams() { var pages = document.querySelectorAll('.m-page ul li').length || 1 var page = document.querySelector('.m-page .pagenum') ? document.querySelector('.m-page .pagenum').text.replace(/^.+(\d+).+$/,'$1') : 1 var time = getQueryString('timescope') var startTime = '' var endTime = '' if (time) { startTime = time.split(':')[1] endTime = time.split(':')[2] } var container = document.querySelector('.m-main-nav ul') var appendEl = document.createElement('li') var str = `${startTime}时~${endTime}时` appendEl.innerHTML = ` <p style="padding:5px 10px">当前:${page}/${pages}</p> ${time ? '<p style="padding:5px 10px"><span style="background: #e6f2f8;padding:5px">' + str + '<a href="/weibo?q=freen&Refer=g" style="display:inline-block;padding:0 10px;vertical-align:middle;color:red"><span>X</span></a></span></p>' : '' } ` container.appendChild(appendEl) } function getQueryString(name) { let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') let r = window.location.search.substr(1).match(reg) if (r != null) { return decodeURIComponent(r[2]) } return null } // 添加设置按钮到页面 function createSetBtn() { var container = document.querySelector('.m-main-nav ul') var appendEl = document.createElement('li') appendEl.innerHTML = ` <li id="${nameSpace}set-btn"> <a href="javascript:;" title="搜索屏蔽设置" node-type="advsearch"> <div style="margin-right: 18px;"><svg class="Configs_icon_15HSz" yawf-component-tag="icons" style="width:24px;height:24px"><use xlink:href="#woo_svg_nav_configFlat"></use></svg></div> 搜索屏蔽设置 </a> </li> ` container.appendChild(appendEl) appendEl.onclick = function () { createSetPanel() } } // 添加设置面板到页面 function createSetPanel() { if(!document.querySelector('#'+nameSpace+'dialog')) { var appendEl = document.createElement('div') appendEl.id = nameSpace + 'dialog' var data = GM_getValue('keyword', []) appendEl.innerHTML = ` <div class="${nameSpace}dialog-mask"></div> <div class="${nameSpace}dialog-body"> <div class="${nameSpace}dialog-title"> <span>设置</span><span class="${nameSpace}dialog-close">×</span> </div> <div class="${nameSpace}dialog-main"> <p>隐藏包含以下关键词的微博,可填写用户名、关键词、超话(xxx超话)、话题(#xxx#)</p> <p><input id="${nameSpace}add-input" type="text" /><button id="${nameSpace}add-btn">添加</button><span style="color: #999;">点击添加按钮或者enter键添加关键词</span></p> <ul id="${nameSpace}keyword-wrap"> ${data.map(i=>`<li class="${nameSpace}keyword"><span>${i}</span><span class="${nameSpace}keyword-del">×</span></li>`).join('')} </ul> </div> </div> ` document.body.appendChild(appendEl) setHandle() } else { document.querySelector('#'+nameSpace+'dialog').style.display = 'block' } } // 隐藏微博 function setHideByKeyWord() { var keywords = GM_getValue('keyword', []) if(keywords.length > 0) { var reg = new RegExp(keywords.join('|')) var list = document.querySelectorAll('#pl_feedlist_index .card-wrap') for(let i=0;i<list.length;i++) { var el = list[i] if(reg.test(el.outerText.toLocaleLowerCase())) { el.style.display = "none" } else { var parent = el.querySelector('ul') var hrefEl = el.querySelector('.from > a') if(parent && hrefEl) { var ael = document.createElement('li') ael.innerHTML = `<a href="${hrefEl.href}" target="_blank">打开微博</a>` parent.appendChild(ael) } } } } } // 设置插件样式 function setStyle() { var style = document.createElement('style') style.type = 'text/css' style.innerHTML = `#${nameSpace}dialog{position:fixed;bottom: 0;left: 0;position: fixed;right: 0;top: 0;z-index:999;font-size: 14px;}.${nameSpace}dialog-mask{bottom: 0;left: 0;position: fixed;right: 0;top: 0;background:rgba(0,0,0,0.5);} .${nameSpace}dialog-body{width:620px;background:#fff;margin:100px auto;position: fixed;left: calc(50% - 300px);border-radius: 8px;}.${nameSpace}dialog-title{display: flex;justify-content: space-between;padding: 16px; border-bottom: 1px solid #f1f1f1;}.${nameSpace}dialog-main{padding: 16px;}.${nameSpace}dialog-main p{padding:8px 0}.${nameSpace}dialog-main p input{padding:5px;border: 1px solid #aaa;}.${nameSpace}dialog-main p button{padding:4px 8px; margin: 0 10px;border-radius: 2px;background: #1b1b1b;color: #fff;}.${nameSpace}keyword-wrap{margin-top: 20px;overflow-y: auto;height: 300px;}.${nameSpace}dialog-close{font-size: 18px;cursor: pointer;}.${nameSpace}keyword{display: inline-block; padding: 5px 8px;border: 1px solid orange;margin: 0 10px 10px 0;}.${nameSpace}keyword-del{margin-left: 5px;cursor: pointer;width: 20px; display: inline-block;text-align: center;}.menu.s-fr>a{display:none !important;}.card-feed .info .menu ul{ display:flex !important;width:unset;top:0}.card-feed .info .menu ul li a{overflow: hidden;width: 1em;height: 1em;letter-spacing: 1em;padding: 5px;}.${nameSpace}iframe{width:540px;height:305px} ` document.getElementsByTagName('head').item(0).appendChild(style) } function addKeyword (val) { if(val) { var ul = document.querySelector('#'+nameSpace+'keyword-wrap') var el = document.createElement('li') el.className = nameSpace + 'keyword' el.innerHTML = `<span>${val}</span>` var del = document.createElement('span') del.className = nameSpace + 'keyword-del' del.innerHTML = `×` ul.appendChild(el) el.appendChild(del) del.addEventListener('click',function(e){delKeyword(e)}) var data = GM_getValue('keyword', []) data.push(val) GM_setValue('keyword', data) } } // 设置事件 function setHandle () { document.querySelector('.'+nameSpace+'dialog-close').addEventListener('click',function() { document.querySelector('#'+nameSpace+'dialog').style.display = 'none' }) document.querySelector('#'+nameSpace+'add-input').onkeydown=function(ev){ if(ev.keyCode==13){ var val = ev.target.value addKeyword(val) ev.target.value = '' } } document.querySelector('#'+nameSpace+'add-btn').addEventListener('click',function() { var textel = document.querySelector('#'+nameSpace+'add-input') var val = textel.value textel.value = '' addKeyword(val) }) var list = document.querySelectorAll('.'+nameSpace+'keyword-del') for(let i=0;i<list.length;i++) { var el = list[i] el.addEventListener('click',function(e) { delKeyword(e) }) } } // 删除关键词 function delKeyword (e) { var text = e.currentTarget.previousSibling.outerText e.currentTarget.parentElement.remove() var data = GM_getValue('keyword', []) var index = data.indexOf(text) if(index > -1) { data.splice(index,1) GM_setValue('keyword', data) } } window.addEventListener('load', () => { setHideByKeyWord() setStyle() createSetBtn() setSearchParams() })
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址