Greasy Fork is available in English.

知乎增强

屏蔽指定类别(视频、盐选、文章、想法、关注[赞同了XX/关注了XX]等等)、屏蔽用户、屏蔽关键词、默认收起回答、快捷收起回答/评论(左键两侧)、快捷回到顶部(右键两侧)、区分问题文章、移除高亮链接、净化搜索热门、净化标题消息、展开问题描述、显示问题作者、默认高清原图(无水印)、置顶显示时间、完整问题时间、直达问题按钮、默认站外直链...

< Feedback on 知乎增强

Review: Good - script works

§
Posted: 24.09.2024

作者您好,

感谢您编写的脚本,是否可以新增一个功能:去除知乎网页端回答和文章中类似 “知乎直答✦” 的关键词和超链接。

我参考了 屏蔽知乎直答标记 脚本,并做了一些修改,具体如下:

// ==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 });
})();
    

希望这个修改对您有帮助,如果能考虑添加这个功能就太好了!

谢谢!

X.I.UAuthor
§
Posted: 25.09.2024
Edited: 25.09.2024

脚本其实从一开始就有这个功能的,叫做 移除高亮链接,起初知乎的这玩意是指向知乎搜索 URL 的,后来开始搞 AI 后,前段时间就将链接改成了 https://zhida.zhihu.com/search?q=XXXX 这种搜索了,当时也更新脚本跟进了(当时还是一个人在 Github 提 PR)。

我刚才看了一下,是知乎又改了链接,把 q=XX 这个参数放到链接后面去了(加了其他一大串参数),导致脚本匹配元素 href 开头 https://zhida.zhihu.com/search?q= 时匹配不到,我已经把末尾的 q= 删掉了,现在已经可以正常匹配并移除高亮了。

  • 修复 [移除高亮链接] 功能又失效了的问题(知乎又改动了)

你更新脚本即可。

§
Posted: 25.09.2024

Thank you for posting that it could be just the thing to give inspiration to someone who needs it! Keep up the great work!

Post reply

Sign in to post a reply.