您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
网页切换为黑色主题
当前为
// ==UserScript== // @name DarkTheme // @name:zh-CN 网页黑色主题 // @namespace https://greasyfork.org/zh-CN/users/104201 // @version 0.1 // @description Tabs in Dark Theme // @description:zh-CN 网页切换为黑色主题 // @author 黄盐 // @include * // @noframes // require https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js // @run-at document-start // @grant GM_setValue // @grant GM_getValue // @grant GM.setValue // @grant GM.getValue // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // ==/UserScript== /* jshint esversion: 6 */ ; (function() { 'use strict'; const CSS = ` :root{ -webkit-filter: invert(100%) contrast(87%); filter: invert(100%) contrast(87%); background: #272822 !important; } img{ -webkit-filter: invert(100%) brightness(105%); filter: invert(100%) brightness(105%); } *[style*="url"]{ -webkit-filter: invert(100%); filter: invert(100%); } *[data-dmbg="1"]{ -webkit-filter: none; filter: none; } *[data-dmbg="2"]{ -webkit-filter: invert(100%); filter: invert(100%); } video, embed, object, canvas{ -webkit-filter: invert(100%); filter: invert(100%); } /* 图标 */ ::before{ -webkit-filter: invert(100%); filter: invert(100%); } /* 图标 排除font-awesome图标 */ .fa::before{ -webkit-filter: invert(0%); filter: invert(0%); } /* 下面的 img img 这种选择器,是指那些被点击后图片会放大的图片,如微博里面小图, 方案: 眼睛护航crx*/ :-webkit-any(iframe, img, [style*="url"]:not(input), i, video, object,embed:not([type$="pdf"])) :-webkit-any(iframe, img, [style*="url"]:not(input), i, video, object,embed:not([type$="pdf"])) { -webkit-filter:none; filter:none; } :-moz-any(iframe, img, [style*="url"]:not(input), i, video, object,embed:not([type$="pdf"])) :-moz-any(iframe, img, [style*="url"]:not(input), i, video, object,embed:not([type$="pdf"])) {filter:none;} /* baidu search,news,wenku logo*/ #result_logo img, .s_logo img, .logo img{ -webkit-filter: invert(0%); filter: invert(0%); } /**/ img[src*="logo"]{ -webkit-filter: invert(0%); filter: invert(0%); } `; var mode, darkThemeSwitch, pageFirstLoad = true, blackList; try { //Tampermonkey blackList = GM_getValue('blackList', {}); } catch (e) { //GreasyMonkey blackList = GM.getValue('blackList', {}); } /*这里不采用GM_addStyle,是为了避免网页局部更新的时候,把<head>内部的<style>去除了,例如百度搜索,点击搜索一下按钮的时候*/ function addStyle(styleId, cssText) { let a = document.createElement('style'), doc = document.body || document.documentElement; a.id = styleId; a.textContent = cssText; doc.appendChild(a); } function GMBlackList() { if (pageFirstLoad) { let a = document.createElement('div'), doc = document.body || document.documentElement, txt = ` #GMBlackListDiv{position:fixed;left:0;bottom:0;width:30px;height:30px;border-radius:20px;background:cyan;opacity:0;z-index:9999999;} #GMBlackListDiv:hover{opacity:1;} `; addStyle('GMBlackList', txt); a.id = 'GMBlackListDiv'; doc.appendChild(a); a.addEventListener('click', GMBlackList, false); } else { if (blackList[location.host] === undefined) { blackList[location.host] = true; } else { delete blackList[location.host]; } GM.setValue('blackList', blackList); } if (blackList[location.host]) { try { document.getElementById('darkTheme').parentNode.removeChild(document.getElementById('darkTheme')); } catch (e) {} } else { addStyle('darkTheme', CSS); init(); } } function TMBlackList() { if (!pageFirstLoad) { GM_unregisterMenuCommand(darkThemeSwitch); if (blackList[location.host] === undefined) { blackList[location.host] = true; } else { delete blackList[location.host]; } GM_setValue('blackList', blackList); } if (blackList[location.host]) { try { document.getElementById('darkTheme').parentNode.removeChild(document.getElementById('darkTheme')); } catch (e) {} darkThemeSwitch = GM_registerMenuCommand('DarkTheme On', TMBlackList); } else { addStyle('darkTheme', CSS); init(); darkThemeSwitch = GM_registerMenuCommand('DarkTheme Off', TMBlackList); } } (typeof GM_registerMenuCommand === 'function') ? TMBlackList(): GMBlackList(); function init() { // $('*').filter(function() { // if (this.currentStyle) { // return this.currentStyle['backgroundImage'] !== 'none'; // } else if (window.getComputedStyle) { // return document.defaultView.getComputedStyle(this,null).getPropertyValue('background-image') !== 'none'; // } // }).addClass('bg_found'); function BGlinks() { [].forEach.call(document.links, function(item, index) { if (document.defaultView.getComputedStyle(item).getPropertyValue('background-image') !== 'none') item.setAttribute('data-dmbg', '1'); }); } function ready(fn) { if (document.addEventListener) { //标准浏览器 document.addEventListener('DOMContentLoaded', function() { //注销时间,避免重复触发 document.removeEventListener('DOMContentLoaded', arguments.callee, false); fn(); //运行函数 }, false); } else if (document.attachEvent) { //IE浏览器 document.attachEvent('onreadystatechange', function() { if (document.readyState == 'complete') { document.detachEvent('onreadystatechange', arguments.callee); fn(); //函数运行 } }); } } ready(BGlinks); } pageFirstLoad = false; })();