Greasy Fork

Greasy Fork is available in English.

干掉新版b站评论区的搜索 (放大镜/蓝字) 功能

干掉新版b站评论区的评论搜索 (放大镜/蓝字) .

当前为 2022-07-30 提交的版本,查看 最新版本

// ==UserScript==
// @name         干掉新版b站评论区的搜索 (放大镜/蓝字) 功能
// @namespace    http://greasyfork.icu/zh-CN/scripts/447612-%E5%B9%B2%E6%8E%89%E6%96%B0%E7%89%88b%E7%AB%99%E8%AF%84%E8%AE%BA%E5%8C%BA%E7%9A%84%E6%90%9C%E7%B4%A2-%E6%94%BE%E5%A4%A7%E9%95%9C-%E8%93%9D%E5%AD%97-%E5%8A%9F%E8%83%BD
// @version      0.7.2
// @description  干掉新版b站评论区的评论搜索 (放大镜/蓝字) .
// @author       DuckBurnIncense
// @match        *://www.bilibili.com/video/*
// @match        *://www.bilibili.com/medialist/play/watchlater/*
// @match        *://www.bilibili.com/bangumi/play/*
// @match        *://www.bilibili.com/read/*
// @icon         https://www.bilibili.com/favicon.ico
// @homepage     //duckburnincense.ml/
// @supportURL   https://www.bilibili.com/video/BV1SS4y1E7xB
// @license      MIT
// @run-at       document-end
// ==/UserScript==

(function() {
    // My code here...
    // 因为评论区是异步加载的, 所以要定时重复执行.
    setInterval(() => {
        const reg = /^(?:<a.*?>)(.*)(?:<\/a>)$/gim;
        // 啊b天天改class名来屏蔽我脚本, 只好改成黑名单模式了
        const searchWordQueries = [
            'a.jump-url-link.underline-word',
            'a.underline-link.comment-jump-url',
            'a.jump-link.search-word',
            'a.comment-jump-url:not([href*="www.bilibili.com"])',
        ];
        const searchIconQueries = [
            'i.jump-url-prefix.search-word',
            'i.underline.jump-img',
            'i.icon.search-word',
            'img.jump-img:not([src*="bfs/activity-plat/static"])',
        ];
        searchWordQueries.forEach(query => {
            let searchWords = document.querySelectorAll(query);
            searchWords.forEach(item => {
                item.outerHTML = item.outerHTML.replace(reg, '<span>$1</span>');
            });
        });
        searchIconQueries.forEach(query => {
            let searchIcons = document.querySelectorAll(query);
            searchIcons.forEach(item => {
                item.outerHTML = '';
            });
        });
    }, 1000);
})();