您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
为常用网站添加功能定制。例如:3DMGame、贴吧、淘宝、GitHub...
当前为
- // ==UserScript==
- // @name Tiny Customize
- // @description 为常用网站添加功能定制。例如:3DMGame、贴吧、淘宝、GitHub...
- // @namespace https://greasyfork.org/zh-CN/scripts/19823-tiny-customize
- // @homepageURL https://greasyfork.org/zh-CN/scripts/19823-tiny-customize
- // @author nonoroazoro
- // @include /^https?:\/\/(.+\.)?github\./
- // @include http://bbs.3dmgame.com/*
- // @include http://bbs.kafan.cn/*
- // @include http://forum.gamer.com.tw/*
- // @include http://poedb.tw/dps*
- // @include http://tieba.baidu.com/*
- // @include https://forum.gamer.com.tw/*
- // @include https://login.taobao.com/*
- // @include https://www.chiphell.com/*
- // @version 1.1.12
- // @grant none
- // ==/UserScript==
- const host = window.location.host;
- const href = window.location.href;
- const pathname = window.location.pathname;
- /**
- * 获取立即执行的操作。
- */
- const getInstantActions = function ()
- {
- const actions = [];
- if (host === "forum.gamer.com.tw")
- {
- // 巴哈姆特。
- // 反反广告检测。
- const action = function ()
- {
- if (window.AntiAd)
- {
- window.AntiAd.check = function () { };
- window.AntiAd.block = function () { };
- window.AntiAd.verifyLink = function () { return false; };
- }
- };
- actions.push(action);
- }
- else if (
- host === "bbs.kafan.cn" ||
- host === "bbs.3dmgame.com" ||
- host === "www.chiphell.com"
- )
- {
- // 卡饭、3DMGame、Chiphell 论坛(Discuz 驱动的论坛)。
- // 屏蔽方向键翻页。
- const action = function ()
- {
- if (window.keyPageScroll)
- {
- window.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.remove();
- }
- };
- actions.push(action);
- }
- else if (/^(.+\.)?github\./.test(host))
- {
- // GitHub。
- // 禁用快捷键: "s","w"。
- _disableKeydown("s w");
- }
- return actions;
- };
- /**
- * 获取延迟执行的操作。
- */
- const getLazyActions = function ()
- {
- const actions = [];
- if (host === "forum.gamer.com.tw")
- {
- // 巴哈姆特。
- // 自动开启图片。
- let action = function ()
- {
- if (window.forumShowAllMedia)
- {
- window.forumShowAllMedia();
- }
- };
- actions.push(action);
- }
- else if (host === "tieba.baidu.com")
- {
- // 贴吧。
- // 删除广告贴。
- action = function ()
- {
- let spans;
- 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() === "商业推广")
- {
- elem.remove();
- 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. 延迟执行。
- window.addEventListener("load", function ()
- {
- exec(getLazyActions());
- }, true);
- /**
- * 禁止键盘快捷键(单键)。
- */
- function _disableKeydown(p_keys)
- {
- if (typeof p_keys === "string")
- {
- const keys = p_keys.split(/\W+/);
- document.addEventListener("keydown", (e) =>
- {
- if (keys.indexOf(e.key.toLowerCase()) !== -1)
- {
- e.stopPropagation();
- }
- }, true);
- }
- }