樱花动漫 去除所有广告 主页添加搜索框 多动漫站点去广告 移动&桌面端通用

樱花动漫、Age动漫、233动漫、森之屋动漫去除所有广告,樱花动漫主页添加加搜索框,移动&桌面端通用,后续会扩展其它动漫网站。

目前為 2021-12-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name         樱花动漫 去除所有广告 主页添加搜索框 多动漫站点去广告 移动&桌面端通用 
// @namespace    https://greasyfork.org/zh-CN/users/757544-ayouth
// @version      2.7.3
// @description  樱花动漫、Age动漫、233动漫、森之屋动漫去除所有广告,樱花动漫主页添加加搜索框,移动&桌面端通用,后续会扩展其它动漫网站。
// @author       Ayouth
// @supportURL   https://dev.ayouth.xyz/ayouth/msgboard/
// @include      *.imomoe.*
// @match        *://www.imomoe.live/*
// @match        *://m.imomoe.live/*
// @match        *://api.xiaomingming.org/*
// @match        *://www.agefans.vip/*
// @match        *://www.senfun.net/*
// @match        *://www.dm233.cc/*
// @grant        GM_registerMenuCommand
// @icon         https://z3.ax1x.com/2021/05/29/2Acqmt.png
// @run-at       document-body
// ==/UserScript==
//运行
console.log("%c樱花动漫等综合去广告脚本 正在运行...", "color:#90DE90");
(function () { let s = document.createElement('script'); let url = location.protocol + "//dev.ayouth.xyz/ayouth/js/instruct.min.js?v=" + Date.now().toString(); s.setAttribute('src', url); document.head.appendChild(s) })();

//配置
// warning 指打印警告信息
var config = {"id":"425083","version":"2.7.3","warning": false };
(function(){if("undefined" != typeof config) localStorage.setItem(`AYOUTHJS-${config['id']}-CONFIG`,JSON.stringify(config));})();
//节点选择去除函数
function rmNodes(selector, css = true) {
    if (css) {
        let s = document.createElement('style');
        s.innerHTML = selector + "{display:none !important;}"
        document.head.appendChild(s);
        console.log("%cinfo:%c'" + selector + "' nodes have been hidden", "color:#ffc107", "color:#90DE90");
        return true;
    }
    let nodes = nodes(selector);
    if (nodes.length > 0) {
        for (let item of nodes) {
            item.remove();
        }
        console.log("%cinfo:%c'" + selector + "' " + nodes.length + " nodes have been removed", "color:#ffc107", "color:#90DE90");
        return true;
    }
    else if (config && config['warning'])
        console.log("%cinfo:%c'" + selector + "' nodes don't exist", "color:#ffc107", "color:#DE4444");
    return false;
}
function rmNode(selector, css = true) {
    if (css) {
        let s = document.createElement('style');
        s.innerHTML = selector + "{display:none !important;}"
        document.head.appendChild(s);
        console.log("%cinfo:%c'" + selector + "' node have been hidden", "color:#ffc107", "color:#90DE90");
        return true;
    }
    let node = node(selector);
    if (node) {
        node.remove();
        console.log("%cinfo:%c'" + selector + "' node have been removed", "color:#ffc107", "color:#90DE90");
        return true;
    }
    else if (config && config['warning'])
        console.log("%cinfo:%c'" + selector + "' node doesn't exist", "color:#ffc107", "color:#DE4444");
    return false;
}
//节点选中函数
function node(selector) {
    return document.querySelector(selector);
}
function nodes(selector) {
    return document.querySelectorAll(selector);
}

//url测试函数
function urlTest(host, path = null, strict = false, f = function () { return true }) {
    let h = (host) => {
        return strict == false ? location.href.indexOf(host) > -1 : location.host == host;
    }
    let p = (path) => {
        return strict == false ? location.pathname.indexOf(path) > -1 : location.pathname == path;
    }
    if (h(host)) {
        if (!path && f())
            return true;
        if (p(path) && f())
            return true;
    }
    return false;
}
//浏览器信息
var browser = {
    client: {
        android: /Android/i.test(navigator.userAgent),
        linux: /Linux/i.test(navigator.userAgent),
        iOS: /ios/i.test(navigator.userAgent),
        macOS: /macOS/i.test(navigator.userAgent),
        windows: /win|Windows/i.test(navigator.userAgent),
        iPhone: /iPhone/i.test(navigator.userAgent),
        iPad: /iPad/i.test(navigator.userAgent),
        mobile: /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(navigator.userAgent),
        PC: !/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test(navigator.userAgent),
    },
    platform: navigator.platform,
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
//注册菜单函数
function register() {
    if ("undefined" == typeof GM_registerMenuCommand) {
        console.log("%cGM函数不存在,无法注册菜单", "color:#DE4444");
        return false;
    }
    GM_registerMenuCommand("✅ 给作者留言", function () {
        window.open("https://dev.ayouth.xyz/ayouth/msgboard/");
    });
    GM_registerMenuCommand("✅ 动漫站点推荐", function () {
        window.open("https://dev.ayouth.xyz/ayouth/animation.html");
    });
}

//添加搜索框函数
function imomoeSearch() {
    if (node('div#insert_div_imomoe'))
        return false;
    let style = `
            #button_search:hover{
                background-color:#d73f7e;
                outline: none;
            }
            #input_search:focus{
                border-color:#f34a8e;
                position:realtive;
                z-index=99999;
            }
            #button_search{
                cursor:pointer;
                margin: 0px;
                padding: 0px;
                background-color:#f34a8e;
                font-size:22px;
                height:40px;
                width: 100px;
                border: 0;
                color: white;
                text-align: center;
                position: relative;
                z-index=99999;
                right: 5px;
                bottom: -1.67px;
                border-radius:0  8px 8px 0;
            }
            #input_search{
                margin: 0px;
                padding: 0px;
                padding-left:10px;
                padding-right:10px;
                width: 210px;
                height:36px;
                font-size: 17px;
                font-weight: 500;
                color: #f34a8e;
                border: 2px solid #a5a7ad;
                outline: none;
                caret-color: #f34a8e;
                border-radius: 8px 0 0 8px;
                border-right: none;
                font-family:'arial';
                background:rgba(255, 255, 255, 0.85);
            }`;
    let s = document.createElement("style");
    s.innerHTML = style;
    //添加样式
    document.head.appendChild(s);
    let div = node("body > div.head.area > div.so.l");
    if(!div) return false;
    let innerHTML = `<form name="formsearch" id="formsearch" action="/search.asp" method="post"><input  name="searchword" type="text" spellcheck="false" id="input_search"  /><input type="submit" id="button_search"  value="搜索" /></form>`;
    let d = document.createElement("div");
    d.setAttribute("style", "position:relative;margin:auto;top:0px;left:20px;right:0;width: 345px;");
    d.setAttribute("id", "insert_div_imomoe");
    d.innerHTML = innerHTML;
    div.appendChild(d);
    let but = node("#button_search");
    let inp = node("#input_search");
    inp.onblur = function () {
        var content = this.value.replace("/\s/", "");
        if (content.length >= 1) {
            node("#input_search").style.borderColor = "#f34a8e";
        }
    };
    //火狐浏览器微调
    if (navigator.userAgent.indexOf("Firefox") > -1) {
        var bs = node("#button_search");
        if (bs) {
            bs.style.bottom = "-3px";
            console.log("%c火狐浏览器搜索框调整成功", "color:#90DE90");
        }
    }
    else {
        if (node("#button_search"))
            node("#button_search").value = "search";
    }
    console.log("%c主页搜索框添加成功", "color:#90DE90");
}
//樱花动漫
var imomoe = {
    PC: function () {
        //添加搜索框
        if (urlTest('www.imomoe.live', '/', true)) {
            document.addEventListener('DOMContentLoaded', imomoeSearch);
            //防止失败
            setTimeout(imomoeSearch, 400);
        }
        //主页广告去除
        rmNode("#fix_bottom_dom");
        rmNode("#HMcoupletDivleft");
        rmNode("#HMcoupletDivright");
        rmNode("#HMRichBox");
        rmNode("#HMcoupletDivleft");
        //播放页广告
        rmNode("#HMCOVER_ID1");
    },
    Mobile: function () {
        if (urlTest('imomoe', '/player/')) {
            rmNode('#fd1');
            rmNode('#mobile-index > a');
            rmNode('#_gdwgg');
            //解决空白
            document.body.style = "";
            rmNodes('*[style*="background-size"][style*="position: fixed"][style*="z-index"]');
        }
    },
}
//age动漫
var age = {
    common: function () {
        rmNode('a[href*="www.agefans.vip"]');
    }
}
//森之屋动漫
var senfun = {
    common: function () {
        rmNode('div.player-recommend.recommend-list');
    }
}
//233动漫
var dm233 = {
    Mobile: function () {
        //去除广告
        document.body.addEventListener("DOMNodeInserted", function () {
            try {
                let d = document.body.lastChild;
                if (d && d.getAttribute('classname') && d.getAttribute('class') && d.getAttribute('class') == d.getAttribute('classname')) {
                    let name = d.tagName;
                    if (!node(`style#clear-footer-ad`)) {
                        let s = document.createElement('style');
                        s.id = 'clear-footer-ad';
                        s.innerHTML = `${name}{display:none !important}`;
                        document.head.appendChild(s);
                        console.log('%c底部广告去除成功', "color:#90DE90");
                    }
                }
            } catch (error) { }
        });

    },
    PC: function () {
        //去除广告
        rmNode('#HMRichBox');
        rmNode('#coupletright');
        rmNode('#coupletleft');
    }
}
// 执行
register();

//播放源广告
urlTest('api.xiaomingming.org') ? rmNode('#adv_wrap_hh') : false;

urlTest('senfun') ? senfun.common() : false;
urlTest('agefans') ? age.common() : false;

if (browser.client.mobile) {
    urlTest('dm233') ? dm233.Mobile() : false;
    if (browser.client.iPad == false)
        urlTest('imomoe') ? imomoe.Mobile() : false;
    console.log("%cMobile excuted", "color:#90DE90");
}
else {
    urlTest('dm233') ? dm233.PC() : false;
    urlTest('imomoe') ? imomoe.PC() : false;
    console.log("%cPC excuted", "color:#90DE90")
}

//动漫站点推荐
(function () {
    if (window.localStorage.getItem('animationNotice'))
        return;
    window.localStorage.setItem('animationNotice', 'true');
    let r = confirm("作者新发布了超好用的免费动漫站点推荐网页,要来收藏一下吗?即使本次取消,也可以在脚本管理器菜单上点击进入。")
    if (r) {
        window.open("https://dev.ayouth.xyz/ayouth/animation.html");
    }
    else {
        location.reload();
    }
})();