Greasy Fork 支持简体中文。

半自动屏蔽网页内容,例如悬浮窗

根据F12查找到的element(div)的name或者id,对其进行自动屏蔽的通用脚本,***请注意第15~17行***,自行修改需要屏蔽的网站和内容(现在的blockeName和blockedPageUrls是用来屏蔽嘶哩嘶哩的悬浮窗广告的)

目前為 2023-05-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name         半自动屏蔽网页内容,例如悬浮窗
// @namespace    http://tampermonkey.net/
// @version      1.21
// @description  根据F12查找到的element(div)的name或者id,对其进行自动屏蔽的通用脚本,***请注意第15~17行***,自行修改需要屏蔽的网站和内容(现在的blockeName和blockedPageUrls是用来屏蔽嘶哩嘶哩的悬浮窗广告的)
// @author       shepherdZheng
// @match        http://*/*
// @match        https://*/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    //在下面两行中输入需要屏蔽的name或者id,以及网页列表,数量/长度不限。
    var blockeName = ['coupletright','coupletleft','HMRichBox'];
    var blockedPageUrls = ['https://www.silisili.tv/', 'http://www.example.org/'];

    //确认是否是需要河蟹的网页
    function isBlockedPageUrl() {
        for (var i = 0; i < blockedPageUrls.length; i++) {
            if (window.location.href.indexOf(blockedPageUrls[i]) !== -1) {
                return true;
            }
        }
        return false;
    }
    //查找网页内容,进行河蟹
    function getElementandRemove(i,blockeName) {
        if (i < 10) { //网速比较慢的情况下,请调高i<的值,例如,网页需要10秒加载完的话,这里应该大于10*2,大于20。
            setTimeout(function() {
                //console.log(i); //调试用
                var elements = document.getElementsByTagName('*');
                for(var k=0; k<elements.length; k++) {
                    for (var j = 0; j < blockeName.length; j++) {
                        var name = blockeName[j];
                        if(elements[k].getAttribute('id') === name || elements[k].getAttribute('name') === name) {
                            elements[k].style.display = 'none';
                            //无法屏蔽掉网页内容时请依次取消下面三行的注释(手段逐渐过激)
                            //elements[k].style.display = "none !important";
                            //elements[k].style.visibility = "hidden !important";
                            //elements[k].parentNode.removeChild(element);
                            if(j == blockeName.length){
                                i += 233;//完事收工
                            }
                        }
                    }
                }
                getElementandRemove(i + 1);
            }, 500);
        }
    }
    // 主函数,js要实现异步编程还挺麻烦的——只会python的初学者的感想。
    if (isBlockedPageUrl()) {
        getElementandRemove(0,blockeName);
    }
})();