Replaces the background white color with yellow in order to decrease eye strain
当前为
// ==UserScript==
// @name White background replacer
// @namespace http://siavoshkc.com/
// @version 1.3
// @description Replaces the background white color with yellow in order to decrease eye strain
// @author siavoshkc
// @match *://*/*
// @grant none
// @license MIT
// @run-at document-idle
// ==/UserScript==
function isWhite(bg)
{
if(
bg == "white"||
bg == "#ffffff"||
bg == "#FFFF"||
bg == "#FFF"||
bg == "#fff" ||
bg.replace(/ /g,'') == "rgb(255,255,255)"||
bg.replace(/ /g,'').substring(0, 16) == "rgba(255,255,255"
) return true;
}
function changeColor()
{
'use strict';
const STYLE_BG_COLOR = "#b0edc4";
const IMPORT_BG_COLOR = "#79d2a6";
const MEDIA_BG_COLOR = "#80e5ff";
if(document.styleSheets.length === 0) document.body.style.backgroundColor = STYLE_BG_COLOR;
else
{
for (let sheeti= 0; sheeti<document.styleSheets.length; sheeti++) {
try{
let sheet= document.styleSheets[sheeti];
let rules= sheet.cssRules;
for (let rulei= 0; rulei<rules.length; rulei++) {
let rule= rules[rulei];
if (rule.constructor.name=='CSSStyleRule')
{
if("style" in rule && isWhite(rule.style.backgroundColor))
{
rule.style.backgroundColor=STYLE_BG_COLOR;
if(rule.style.color==STYLE_BG_COLOR) rule.style.color = "black";
}
}
else if(rule.constructor.name=='CSSImportRule')
{
let importRules = rule.styleSheet.cssRules;
for(let importRulei = 0; importRulei < importRules.length; importRulei++)
{
let importRule = importRules[importRulei];
if("style" in importRule && isWhite(importRule.style.backgroundColor))
{
importRule.style.backgroundColor=IMPORT_BG_COLOR;
if(importRule.style.color==IMPORT_BG_COLOR) importRule.style.color = "black"
}
}
}
else if(rule.constructor.name=='CSSMediaRule')
{
let mediaRules = rule.cssRules;
for(let mediaRulei = 0; mediaRulei < mediaRules.length; mediaRulei++)
{
let mediaRule = mediaRules[mediaRulei];
if("style" in mediaRule && isWhite(mediaRule.style.backgroundColor))
{
mediaRule.style.backgroundColor=MEDIA_BG_COLOR;
if(mediaRule.style.color==MEDIA_BG_COLOR) mediaRule.style.color = "black";
}
}
}
else {
console.log("White background replacer: Unsupported style rule of type: ".concat(rule.constructor.name))
};
}
}
catch(e)
{
console.log("White background replacer: Caught exception: ".concat(e));
continue;
}
}
}
};
changeColor() ;