Greasy Fork is available in English.

Tiny Customize

针对一些常用网站,例如 3DMGame、贴吧、卡饭、巴哈姆特、流亡编年史、Chiphell、淘宝等的反反广告检测、自动化、屏蔽网站功能等。

As of 28.08.2016. See ბოლო ვერსია.

// ==UserScript==
// @name        Tiny Customize
// @description 针对一些常用网站,例如 3DMGame、贴吧、卡饭、巴哈姆特、流亡编年史、Chiphell、淘宝等的反反广告检测、自动化、屏蔽网站功能等。
// @namespace   https://greasyfork.org/zh-CN/scripts/19823-tiny-customize
// @homepageURL https://greasyfork.org/zh-CN/scripts/19823-tiny-customize
// @author      nonoroazoro
// @include     /^https?\:\/\/(bbs)\.3dmgame\.com/
// @include     /^https?\:\/\/(bbs)\.kafan\.cn/
// @include     /^https?\:\/\/(forum)\.gamer\.com\.tw/
// @include     /^https?\:\/\/(www)\.chiphell\.com/
// @include     /^https?\:\/\/login\.taobao\.com/
// @include     /^https?\:\/\/poedb\.tw(\/?.*)\/dps/
// @include     /^https?\:\/\/tieba\.baidu\.com/
// @version     1.1.4
// @grant       none
// ==/UserScript==

if (typeof unsafeWindow == "undefined")
{
    unsafeWindow = window;
}

/**
 * 获取立即执行的操作。
 */
const getInstantActions = function()
{
    const host = unsafeWindow.location.host;
    const href = unsafeWindow.location.href;
    const actions = [];

    if (host === "forum.gamer.com.tw")
    {
        // 巴哈姆特。

        // 反反广告检测。
        const action = function()
        {
            if (unsafeWindow.AntiAd)
            {
                unsafeWindow.AntiAd.check = function() {};
            }
        };
        actions.push(action);
    }
    else if (
        host === "bbs.kafan.cn" ||
        host === "bbs.3dmgame.com" ||
        host === "www.chiphell.com"
    )
    {
        // 卡饭、3DMGame、Chiphell 论坛(Discuz 驱动的论坛)。

        // 屏蔽方向键翻页。
        const action = function()
        {
            if (unsafeWindow.keyPageScroll)
            {
                unsafeWindow.keyPageScroll = function() {};
            }
        };
        actions.push(action);
    }
    else if (/^https?\:\/\/poedb\.tw(\/?.*)\/dps/.test(href))
    {
        // 流亡编年史。

        // 屏蔽默认自动全选物品信息、自动查询物品信息。
        const action = function()
        {
            const elem = document.querySelector(`#iteminfo`);
            elem.addEventListener("click", (e) =>
            {
                e.stopPropagation();
            }, true);

            elem.addEventListener("keydown", (e) =>
            {
                if (e.key === "Enter")
                {
                    document.querySelector(`form[action^="dps"]`).submit();
                    e.preventDefault();
                }
            }, true);

            elem.addEventListener("keyup", (e) =>
            {
                if (e.ctrlKey && (e.key === "v" || e.key === "V"))
                {
                    document.querySelector(`form[action^="dps"]`).submit();
                }
            });
        };
        actions.push(action);
    }
    else if (host === "login.taobao.com")
    {
        // 淘宝。

        // 默认显示密码登录(而非 QR 码登录)界面。
        let action = function()
        {
            // 始终显示密码登录。
            let elems = document.querySelectorAll(`.static-form, .iconfont.static`);
            for (let elem of elems)
            {
                elem.setAttribute("style", "display: block !important");
            }

            // 删除扫码登录。
            elems = document.querySelectorAll(`.login-switch, .login-tip, .iconfont.quick, .quick-form`);
            for (let elem of elems)
            {
                elem.parentNode.removeChild(elem);
            }
        };
        actions.push(action);
    }

    return actions;
};

/**
 * 获取延迟执行的操作。
 */
const getLazyActions = function()
{
    const host = unsafeWindow.location.host;
    const actions = [];

    if (host === "forum.gamer.com.tw")
    {
        // 巴哈姆特。

        // 自动开启图片。
        let action = function()
        {
            if (unsafeWindow.forumShowAllMedia)
            {
                unsafeWindow.forumShowAllMedia();
            }
        };
        actions.push(action);
    }
    else if (host === "tieba.baidu.com")
    {
        // 贴吧。

        // 个人中心新标签打开。
        let action = function()
        {
            const timer = unsafeWindow.setInterval(() =>
            {
                const elem = document.querySelector(`a.u_menu_wrap[title^="点击到个人中心"`);
                if (elem)
                {
                    elem.target = "_blank";
                    unsafeWindow.clearInterval(timer);
                }
            }, 100);
        };
        actions.push(action);

        // 删除广告贴。
        action = function()
        {
            let spans;
            const parent = document.querySelector(`#j_p_postlist`);
            const elems = document.querySelectorAll(`#j_p_postlist > div`);
            for (let elem of elems)
            {
                spans = elem.querySelectorAll(`.core_reply_tail span`);
                for (let s of spans)
                {
                    if (s.innerText.trim() === "商业推广")
                    {
                        parent.removeChild(elem);
                        break;
                    }
                }
            }
        };
        actions.push(action);
    }

    return actions;
};

/**
 * 立即执行指定的操作。
 */
const exec = function(p_actions)
{
    if (p_actions)
    {
        p_actions.forEach(function(p_action)
        {
            p_action();
        });
    }
};

// 1. 立即执行。
exec(getInstantActions());


// 2. 延迟执行。
unsafeWindow.addEventListener("load", function()
{
    exec(getLazyActions());
}, true);