Greasy Fork is available in English.
隐藏百度百科和百度经验中的'秒懂百科'视频;使用比较low的方式,带佬莫笑我 -.-;感谢AC的大力支持@AC
// ==UserScript== // @name [星田雨]-隐藏百度百科和百度经验中的'秒懂百科'视频 // @namespace https://greasyfork.org/ // @version 2.4.0 // @description 隐藏百度百科和百度经验中的'秒懂百科'视频;使用比较low的方式,带佬莫笑我 -.-;感谢AC的大力支持@AC // @author XingTianyu // @match *://baike.baidu.com/item/* // @match *://jingyan.baidu.com/article/* // @icon https://baike.baidu.com/favicon.ico // @grant none // @note 2023.12.05-V2.4.0 修复了百度百科给class加了一些奇怪后缀导致无法隐藏的问题,使用了一些新的代码;感谢@我不知道也不明白 网友热心的指出问题 // @note 2023.04.02-V2.3.1 修复了百科新版无法过滤秒懂百科视频的bug ;感谢 @风行于野提出问题(就是修复来的有点晚) // @note 2021.05.29-V2.3.0 修复了百度百科中多义词被误隐藏的问题;感谢@Lottie Spade、@Khan2001、@氏贺X太 三位网友热心的指出问题 // @note 2021.03.02-V2.2.0 修复部分(搜了《维#传奇》,它的秒懂百科无法隐藏)百度百科的秒懂百科无法隐藏的问题 // @note 2021.02.20-V2.0.0 新增隐藏百度经验页面中的‘秒懂百科’ // @note 2021.02.08-V1.1.0 使用AC教我的给元素添加'display:none'属性的方式来实现视觉'去除',修复人物百科页面无法'去除'的问题 // @note 2021.01.31-V1.0.0 简单粗暴的删除页面元素 // @license MIT // ==/UserScript== (function () { 'use strict'; var verison='V2.4.0'; /** * 老方法,获取待删除节点的父节点,然后用父节点删除目标节点 已废除 * @param {待删除元素的class名称} */ function removeElementByHimFather(className) { //获取待删除元素 var removeEle = document.querySelector('.' + className); if (removeEle !== null) { // 获取目标节点的父节点 var parent = removeEle.parentElement; // 用目标节点的父节点删除目标节点 parent.removeChild(removeEle); } } /** * 新方法,给元素添加隐藏属性,页面不再展示该元素 * @param {待删除元素的class名称} */ var hideElement = function (className) { //var hideEle = document.querySelector('.' + className); var hideEle = document.querySelectorAll("div[class^='"+className+"'"); //console.log("%c星田雨 %c 开始处理["+className+"]", "font-weight:bold;color:darkorange", "color:0"); //先判断是否存在再继续操作 if (hideEle) { for (var ele of hideEle) { ele.style.cssText = "display:none"; } } } /** * 进一步封装删除的方法 * @param {待删除的广告元素class名称数组} classNameArray */ function removeByLoopArray(classNameArray) { for (var className of classNameArray) { // 移除元素 // removeElementByHimFather(className); // 隐藏元素 hideElement(className); } } /** * 使用定时器删除 已废除 * @param {待删除的元素class名称数组} classNameArray */ function timerToRemove(classNameArray) { setTimeout(removeByLoopArray, 1000, classNameArray); } /** * 按周期来调用 * @param {待处理的元素className数组} classNameArray * @param {回调函数} callbackFunc * @param {定时时间} time */ var safeWaitFunc = function (classNameArray, callbackFunc, time) { time = time || 50; var id = setInterval(function () { clearInterval(id); callbackFunc(classNameArray); }, time) }; /** * 打印脚本信息 */ function printInfo() { console.log("%c[星田雨-“隐藏百度百科和百度经验中的'秒懂百科'视频 "+verison+"”] %c感谢使用,不相关的元素已隐藏~", "font-weight:bold;color:darkorange", "color:0"); } //************************************************************************************* */ //秒懂百科、v百科、xx、yy、'下载APP'、分享按钮、'TA说'右侧小卡片、'TA说'下面的div、人物百科的秒懂百科视频所在div的className;百度经验中的秒懂百科视频所在的className、秒懂百科下方的说明文字、百度经验右侧的滚动框、百度经验导航栏右侧的‘写经验 #红包’、新发现的类型(也是百度百科的秒懂百科) //var classNameArray = ['video-list-container', 'lemmaWgt-promotion-vbaike', 'lemmaWgt-promotion-slide', 'topA', 'appdownload', 'share-list', 'tashuo-right', 'tashuo-bottom', 'poster-middle','feeds-video-box','feeds-video-one-view','wgt-cms-banner','fresh-share-exp-e','J-secondsknow-large-container']; var classNameArray = ['appDownload_','tashuoWrap_','hotspotWrapper_','share_','contentBottom_','slideAdBox_','unionAd_','guessLike_','wgt-douwan-video','aside-ads-container','bottom-pic-ads','bottom-ads-container','aside-wrap','task-panel-entrance'] // timerToRemove(classNameArray); safeWaitFunc(classNameArray, removeByLoopArray); //打印信息 printInfo(); })();