Greasy Fork is available in English.
移除登录弹窗、屏蔽指定类别(视频、盐选、文章、想法、关注[赞同/关注了XX]等)、屏蔽低赞/低评回答、屏蔽用户、屏蔽关键词、默认收起回答、快捷收起回答/评论(左键两侧)、快捷回到顶部(右键两侧)、区分问题文章、移除高亮链接、净化搜索热门、净化标题消息、展开问题描述、显示问题作者、默认高清原图(无水印)、置顶显示时间、完整问题时间、直达问题按钮、默认站外直链...
脚本其实从一开始就有这个功能的,叫做 移除高亮链接,起初知乎的这玩意是指向知乎搜索 URL 的,后来开始搞 AI 后,前段时间就将链接改成了 https://zhida.zhihu.com/search?q=XXXX 这种搜索了,当时也更新脚本跟进了(当时还是一个人在 Github 提 PR)。
我刚才看了一下,是知乎又改了链接,把 q=XX 这个参数放到链接后面去了(加了其他一大串参数),导致脚本匹配元素 href 开头 https://zhida.zhihu.com/search?q= 时匹配不到,我已经把末尾的 q= 删掉了,现在已经可以正常匹配并移除高亮了。
你更新脚本即可。
作者您好,
感谢您编写的脚本,是否可以新增一个功能:去除知乎网页端回答和文章中类似 “知乎直答✦” 的关键词和超链接。
我参考了 屏蔽知乎直答标记 脚本,并做了一些修改,具体如下:
// ==UserScript== // @name 去除知乎直答标记 // @version 1.0 // @description 去除知乎网页端回答和文章中"知乎直答✦"关键词的超链接和✦角标。 // @match *://*.zhihu.com/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; const targetClass = "RichContent-EntityWord"; // 将超链接内容替换为纯文本,并修改类名 function replaceLinks() { const links = document.querySelectorAll(`a.${targetClass}`); links.forEach(link => { if (link.dataset.modified) return; // 跳过已处理的链接 // 修改类名,移除多余的类,保留"RichContent-EntityWord" link.className = targetClass; let keyword = link.textContent; if (keyword) { // 直接用文本替换链接内容,但保留链接节点,以避免操作DOM结构 link.removeAttribute('href'); // 移除超链接功能 link.innerHTML = keyword; // 仅保留文字内容 link.dataset.modified = "true"; // 标记为已修改 } }); } // 页面加载时初次调用以替换链接 replaceLinks(); // 设置一个MutationObserver监视document.body的变化,处理动态添加的内容 const observer = new MutationObserver(replaceLinks); observer.observe(document.body, { childList: true, subtree: true }); })();希望这个修改对您有帮助,如果能考虑添加这个功能就太好了!
谢谢!