Greasy Fork

Greasy Fork is available in English.

妮可,嗨哆咪,樱花,美剧网,黑米影视....广告过滤

喜欢看动漫但在手机端访问网页时一堆广告,基本屏幕都被占满了还看个毛线,所以这里屏蔽了动态加载的广告脚本,有些没用的轮播也去掉了,同时页面也稍微处理了下

当前为 2020-07-14 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         妮可,嗨哆咪,樱花,美剧网,黑米影视....广告过滤
// @namespace    https://www.yqsphp.com
// @version      1.1.6
// @description  喜欢看动漫但在手机端访问网页时一堆广告,基本屏幕都被占满了还看个毛线,所以这里屏蔽了动态加载的广告脚本,有些没用的轮播也去掉了,同时页面也稍微处理了下
// @author       YQS
// @match        *://www.nicotv.me/*
// @match        *://www.nicotv.club/*
// @match        *://www.haiduomi.cc/*
// @match        *://m.meijushe.cc/*
// @match        *://www.tv432.com/*
// @match        *://m.yhdm.tv/*
// @match        *://91mjw.com/*
// @run-at       document-start
// @require      http://code.jquery.com/jquery-1.10.2.min.js
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var host = window.location.host; //主机域名
    var mobile = /Android|webOS|iPhone|iPod|BlackBerry/i; //检查移动端正则
    var path = location.pathname; //url域名后的地址
    /**
     * 参数配置
     * filter:过滤规则
     * node 阻止通过document.createElement创建的元素写入
     * disabled 1.允许"filter"通过,2.阻止"filter"通过
     ***/
    var write_config = {
        "nicotv":{
            "filter":["img.fsmkbl.cn",/<iframe>?.*<\/iframe>/i],
            "node":["div","a","img","script","style","ins"],
            "disabled":1,
        },
        "yhdm":{
            "filter":["div",/<iframe>?.*<\/iframe>/i],
            "node":["a","img","style"],
            "disabled":1,
        },
        "haiduomi":{
            "filter":[/<style>?.*<\/style>/i,/<div>?.*<\div>/i,/<script>?.*<\/script>/i],
            "node":["canvas","style","img","div"],
            "disabled":1
        },
        "jiuyimjw":{
            "filter":[],
            "node":["style","script"],
            "disabled":1
        },
        "tv432":{
            "filter":[/<iframe>?.*<\/iframe>/i],
            "node":["script","canvas"],
            "disabled":1
        }
    };
    //document.write = function(doc){console.log(doc);}
    var _write = document.write;
    var _create = document.createElement;
    /**
     * 重写alert write
     * 阻止弹窗和节点动态写入
     * 过滤掉显示图片和视频播放
     * @object doc 待写入html的动态文本
     * @object togo 过滤的名单数组
     * @object flag 1,白名单可写入,2.黑名单不可写入
     */
    var init_write = function(doc,togo,flag){
        for(var i in togo){
            if(flag == 1){
                if(doc.search(togo[i]) != -1){
                    document.write = _write;
                    document.write(doc);
                    document.write = new_write;
                }
            }else{
                if(doc.search(togo[i]) != -1){
                    return false;
                }
            }
        }

    }
    var new_write = function(doc){
        console.log("脚本写入的文本-"+doc);
        if(host.search("nicotv") != -1){
            init_write(doc,write_config.nicotv.filter,write_config.nicotv.disabled); //妮可
        }else if(host.search("yhdm") != -1){
            init_write(doc,write_config.yhdm.filter,write_config.yhdm.disabled); //樱花
        }else if(host.search("haiduomi") != -1){
            init_write(doc,write_config.haiduomi.filter,write_config.haiduomi.disabled); //嗨哆咪
        }else if(host.search("jiuyimjw") != -1){
            init_write(doc,write_config.jiuyimjw.filter,write_config.jiuyimjw.disabled); //91美剧
        }else if(host.search("tv432") != -1){
            init_write(doc,write_config.tv432.filter,write_config.tv432.disabled); //黑米
        }
    }

    var node = function(tag){
        if(host.search("nicotv") != -1){
            var nico = write_config.nicotv.node;
            if(nico.indexOf(tag) != -1){
                return false;
            }
        }else if(host.search("yhdm") != -1){
            var yhdm = write_config.yhdm.node;
            if(yhdm.indexOf(tag) != -1){
                return false;
            }
        }else if(host.search("haiduomi") != -1){
            var haiduomi = write_config.haiduomi.node;
            if(haiduomi.indexOf(tag) != -1){
                return false;
            }
        }else if(host.search("jiuyimjw") != -1){
            var jiuyimjw = write_config.jiuyimjw.node;
            if(jiuyimjw.indexOf(tag) != -1){
                return false;
            }
        }else if(host.search("tv432") != -1){
            var tv432 = write_config.tv432.node;
            if(tv432.indexOf(tag) != -1){
                return false;
            }
        }
        return true;
    }
    document.createElement = function(tag){
        console.log("脚本创建的节点-"+tag);
        if(node(tag)){
            return _create.apply(this, arguments);
        }else{
            return false;
        }
    }
    document.write = new_write;
    window.alert = function(doc){return false;}
    window.onerror = function(){return true;}
    //移除html中非host的script广告域名,需不需要无所谓了
    /*
    var shift = function(host){
        $("script").each(function(){
            var t = $(this);
            var src = t.context.src;
            //console.log(src);
            if(typeof(src) != "undefined" && src != ""){
                var url = new URL(src);
                if(url.origin.indexOf(host) == -1 && t.context.id !="zm-extension"){
                    t.remove();
                }
            }else{
                t.remove();
            }
        });
    }
    */
    document.onreadystatechange = function(){
        if(document.readyState == "complete"){
            if("www.nicotv.me" == host || "www.nicotv.club" == host){
                //shift("img.fsmkbl.cn");
                var style = "padding-top:0 !important;margin-top:0 !important;";
                $("body").attr("style",style);
                $(".navbar").attr("style",style);
                $(".slide").parent().remove();
                $(".ff-clearfix").remove();
                $(".clearfix-ads").remove();
                $(".ff-ads").remove();
                $(".ff-img").each(function(){
                    var img = $(this).attr("data-original");
                    $(this).attr("src",img);
                });
                //以下针对移动端设定
                if(mobile.test(navigator.userAgent) && (path.indexOf("-addtime") != -1 || path.indexOf("-hits") != -1)){
                    //dl-horizontal
                    var select = $(".dl-horizontal dd");
                    select.css({"white-space":"nowrap","overflow-x":"scroll","overflow-y":"hidden"});
                    //添加 圣墟
                    var a = document.createElement("a");
                    a.href = "/video/type3/肾虚系列------addtime.html";
                    a.className = "btn btn-sm btn-default gallery-cell";
                    a.text = "圣墟";
                    select.eq(1).append(a);
                }
            }else if("m.yhdm.tv" == host){
                $(".swipe").remove();
                $("div[id^=sjdb_div_]").remove();
                $("div[id^=z]").remove();
                //shift(host);
            }else if("www.haiduomi.cc" == host){
                var img = "";
                $(".stui-vodlist__thumb").each(function(){
                    var _this = $(this);
                    img = _this.attr("data-original");
                    if(typeof(img) == "undefined"){
                        img = _this.children("img").attr("data-original");
                        _this.children("img").attr("src",img);
                    }else{
                        _this.attr("style","background-image:url("+img+")");
                    }
                });
                $(".stui-pannel_hd > .stui-screen__list").css({"white-space":"nowrap","overflow-x":"scroll","overflow-y":"hidden"});
            }else if("www.tv432.com" == host){

            }else if("91mjw.com" == host){

            }
        }

    }
})();