Replaces the background white color with yellow in order to decrease eye strain
当前为
// ==UserScript==
// @name White background replacer
// @namespace http://siavoshkc.ir/
// @version 0.6
// @description Replaces the background white color with yellow in order to decrease eye strain
// @author siavoshkc
// @include *
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const BG_COLOR = "#ffedc4";
if(document.styleSheets.length == 0) document.body.style.backgroundColor = 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.type==CSSRule.STYLE_RULE)
{
if(rule.style.backgroundColor=="white"||rule.style.backgroundColor=="#ffffff"||rule.style.backgroundColor=="#FFFF"||rule.style.backgroundColor=="#FFF"||rule.style.backgroundColor=="#fff" ||rule.style.backgroundColor=="rgb(255, 255, 255)") rule.style.backgroundColor=BG_COLOR;
else if(rule.style.backgroundColor==undefined || rule.style.backgroundColor=="")
{
let pRule = rule;
let foundParentColor = false;
while(pRule.parentRule != null)
{
pRule = pRule.parentRule;
if(pRule.style.backgroundColor != undefined && pRule.style.backgroundColor != "")
{
foundParentColor = true;
break;
}
}
if(!foundParentColor) rule.style.backgroundColor=BG_COLOR;
}
}
else if(rule.type==CSSRule.IMPORT_RULE)
{
let importRules = rule.styleSheet.cssRules;
for(let importRulei = 0; importRulei < importRules.length; importRulei++)
{
let importRule = importRules[importRulei];
if(importRule.style.backgroundColor=="white"||importRule.style.backgroundColor=="#ffffff"||importRule.style.backgroundColor=="#FFFF"||importRule.style.backgroundColor=="#FFF"||importRule.style.backgroundColor=="#fff" ||importRule.style.backgroundColor=="rgb(255, 255, 255)") importRule.style.backgroundColor=BG_COLOR;
else if(importRule.style.backgroundColor==undefined || importRule.style.backgroundColor=="")
{
let pRule = importRule;
let foundParentColor = false;
while(pRule.parentRule != null)
{
pRule = pRule.parentRule;
if(pRule.style.backgroundColor != undefined && pRule.style.backgroundColor != "")
{
foundParentColor = true;
break;
}
}
if(!foundParentColor) importRule.style.backgroundColor=BG_COLOR;
}
}
}
else if(rule.type==CSSRule.MEDIA_RULE)
{
let mediaRules = rule.cssRules;
for(let mediaRulei = 0; mediaRulei < mediaRules.length; mediaRulei++)
{
let mediaRule = mediaRules[mediaRulei];
if(mediaRule.style.backgroundColor=="white"||mediaRule.style.backgroundColor=="#ffffff"||mediaRule.style.backgroundColor=="#FFFF"||mediaRule.style.backgroundColor=="#FFF"||mediaRule.style.backgroundColor=="#fff" ||mediaRule.style.backgroundColor=="rgb(255, 255, 255)") mediaRule.style.backgroundColor=BG_COLOR;
else if(mediaRule.style.backgroundColor==undefined || mediaRule.style.backgroundColor=="")
{
let pRule = mediaRule;
let foundParentColor = false;
while(pRule.parentRule != null)
{
pRule = pRule.parentRule;
if(pRule.style.backgroundColor != undefined && pRule.style.backgroundColor != "")
{
foundParentColor = true;
break;
}
}
if(!foundParentColor) mediaRule.style.backgroundColor=BG_COLOR;
}
}
}
else {console.log("Unsupported style rule of type: ".concat(rule.type))};
}
}
catch(e)
{
console.log("Caught exception: ".concat(e));
continue;
}
}
}
})();