您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
屏蔽掉包含带货链接的回答
当前为
// ==UserScript== // @name 屏蔽知乎带货回答 // @namespace http://greasyfork.icu/zh-CN/users/843575-huixuphys // @version 0.1 // @description 屏蔽掉包含带货链接的回答 // @author huixuphys // @match https://www.zhihu.com/question/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant GM_addStyle // @license GPL-3.0 License // ==/UserScript== //hide answers with ads that have already been loaded var initial_answers = document.getElementsByClassName("List-item"); if (initial_answers.length == 0){ let answers1 = Array.from(document.getElementsByClassName("Card AnswerCard")); let answers2 = Array.from(document.getElementsByClassName("Card MoreAnswers")); initial_answers = answers1.concat(answers2); } for (var i = 0; i < initial_answers.length; i++){ let elem = initial_answers[i]; if (elem.querySelector("div.RichText-MCNLinkCardContainer, div.RichText-Ecommerce, div.RichText-ADLinkCardContainer")){ elem.hidden = true; } } //observer configuration to hide ads being loaded const targetNode = document; const config = {childList: true, subtree: true}; const callback = (mutationsList, observer) => { for (const mutation of mutationsList) { for (const target of mutation.addedNodes) { if (target.nodeType == 1){ check_hide_ad(target); } } } }; const observer = new MutationObserver(callback); observer.observe(targetNode, config); //check if an element contains ads and hide the associated answer if true function check_hide_ad(elem){ if (elem.className === "RichText-MCNLinkCardContainer" || elem.className === "RichText-Ecommerce" || elem.className === "RichText-ADLinkCardContainer") { let answer = elem.closest("div.List-item, div.Card.AnswerCard, div.Card.MoreAnswers"); if (answer){ answer.hidden = true; } } }