您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Persistently disable/re-enable custom subreddit styles via a userscript command
当前为
- // ==UserScript==
- // @name Reddit - Toggle Custom CSS
- // @description Persistently disable/re-enable custom subreddit styles via a userscript command
- // @author chocolateboy
- // @copyright chocolateboy
- // @version 1.3.1
- // @namespace https://github.com/chocolateboy/userscripts
- // @license GPL: http://www.gnu.org/copyleft/gpl.html
- // @include http://reddit.com/r/*
- // @include https://reddit.com/r/*
- // @include http://*.reddit.com/r/*
- // @include https://*.reddit.com/r/*
- // @require https://code.jquery.com/jquery-3.5.1.slim.min.js
- // @require https://cdn.jsdelivr.net/gh/eclecto/jQuery-onMutate@79bbb2b8caccabfc9b9ade046fe63f15f593fef6/src/jquery.onmutate.min.js
- // @grant GM_addStyle
- // @grant GM_deleteValue
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant GM_registerMenuCommand
- // @run-at document-start
- // @inject-into content
- // ==/UserScript==
- // inspired by: http://userscripts-mirror.org/scripts/show/109818
- const CUSTOM_CSS = 'link[ref^="applied_subreddit_"]'
- const DISABLE_CSS = false
- const SUBREDDIT = location.pathname.match(/\/r\/(\w+)/)[1]
- function toggle () {
- const oldDisableCss = GM_getValue(SUBREDDIT, DISABLE_CSS)
- const disableCss = !oldDisableCss
- $(CUSTOM_CSS).prop('disabled', disableCss)
- if (disableCss === DISABLE_CSS) {
- GM_deleteValue(SUBREDDIT)
- } else {
- GM_setValue(SUBREDDIT, disableCss)
- }
- }
- // NOTE we need to disable the display rather than setting its visibility to
- // hidden as the latter doesn't hide the background (which leads to a flash of
- // styled content (FOSC) on subreddits with a custom background color and/or
- // image)
- //
- // XXX hide the HTML element rather than the BODY element as the latter still
- // results in a FOSC on some subreddits e.g. /r/firefox
- function hidePage () {
- GM_addStyle('html { display: none !important }')
- }
- const disableCss = GM_getValue(SUBREDDIT, DISABLE_CSS)
- if (disableCss) {
- $(document).onCreate('head', hidePage)
- // https://wiki.greasespot.net/DOMContentLoaded#Workaround
- $(document).on('DOMContentLoaded', () => {
- $(CUSTOM_CSS).prop('disabled', true)
- GM_addStyle('html { display: initial !important }')
- })
- }
- GM_registerMenuCommand('Toggle Custom CSS', toggle)