将网页中的白色背景更改为另一种颜色


47

我目前在Firefox中使用深色主题。看起来确实不错,但是许多网页使用纯白色背景。当我从深色标签切换到白色标签时,产生的对比度有些令人不愉快,有时会伤害眼睛。

有没有办法让Firefox用其他颜色(例如,浅灰色)替换所有地方的白色背景?它可能是“时尚”脚本,一个userChrome.css hack程序或任何可行的方法(最好尽可能轻巧)。

明确说明:达到目标后,每次访问超级用户网站时的背景颜色应为浅灰色而不是白色,其他任何具有白色背景的网站(Google网站,技术问题等)也应使用相同的背景色)。

有没有办法做到这一点?


5
我建议不要这样做,大多数网站使用许多不同的类和CSS进行文字样式设置。按照网页上的样式设置黑色背景和黑色文本会怎样?您出于兴趣使用了哪种操作系统?
danixd 2010年

Windows 7多数情况下,尽管独立于平台的解决方案会更好,因为在工作中我也使用ubuntnu。我知道这可能会导致某些网站出现尴尬的行为,并且背景必须是浅灰色而不是黑色,这样文本才可读。但是,这件事一直困扰着我,我愿意尝试。
马拉巴巴

各种插件都可以做到这一点-例如addons.mozilla.org/En-us/firefox/addon/…–
Wilf

Answers:


21

我刚刚编写了一个快速的Greasemonkey脚本,该脚本检查body元素的计算样式并将其更改为黑色(您可能希望选择其他颜色):

(function () {
    if (window.getComputedStyle(document.body, null).getPropertyValue("background-color") == "rgb(255, 255, 255)") {
        console.log("Setting new background color...");
        document.body.setAttribute("style", "background-color: #000000;");
    }
})();

这些类型的问题的问题在于,除非网站设计得非常好,否则网站上会出现白色斑点。


4
原谅我的无知,但是我应该将该脚本粘贴到哪里?(感谢您的麻烦)
马拉巴巴

@Bruce:安装Greasemonkey,为*创建一个新的用户脚本,然后将其粘贴到文本编辑器中。保存并刷新页面。
Hello71

好的,这种方法到目前为止效果最好。它不会改变文本框和其他几处内容的背景,但除此之外,还不错。我想任何解决方案都会留下一些白盒子。谢谢
Malabarba

有可供下载的脚本,只需向下滚动即可。

14

这不是一个完美的解决方案,但是只要您访问要更改背景的网站,就可以执行此操作。

在38以下的Firefox中,转到Tools > Options > Content并单击Colours按钮。在Firefox 38及更高版本中,转到,Edit > Preferences > Content然后单击Colors

为“背景”选择灰色,然后清除“允许页面选择自己的颜色,而不是我上面的选择”和“使用系统颜色”附近的复选框。

替代文字


这是最简单的一票。它适用于几乎所有站点。但是,它会迫使您更改文本颜色,这使其次于其他两种方法。
马拉巴巴

2
@布鲁斯·康纳:是的。另一方面,在某些情况下,如果更改bg颜色,则也必须更改fg颜色,以获得合理的对比度。因此在实践中,必须更改文本颜色可能不是一个很大的缺点。
sleske,2011年

2
如果您使用此处所述的Firefox选项,则建议使用“无颜色”之类的插件快速将其打开/关闭(因为更改颜色会在许多站点上引起各种错误)。或者,使用Pentadactyl插件可以将任何操作分配给任何键(包括任何Firefox选项切换)。
corvinus 2012年

当指定一个时,这不会覆盖背景颜色
Vlad

11

我已经更新了Greasemonkey(Firefox)脚本来抑制白色背景。

如果您安装了Tampermonkey,则这些脚本将在Chrome中运行。

http://userscripts-mirror.org/scripts/show/142763

这会将所有白色背景更改为灰色(带点阴影)。您可以从通用代码配置和设置自己的基准色。还渲染出白色阴影。

我有三种变体:灰色粉色绿色 -所有这些都可以定制。

在用户脚本中搜索noWhiteBackgroundColor


完美运行-这应该是答案
Mr_and_Mrs_D


4

以下Javascript将在当前页面上用白色覆盖CSS和HTML背景元素,并用黑色覆盖文本元素,只需将其粘贴到您的位置或浏览器字段中即可:

javascript:(function(){
   var newSS,styles='* {background-color:black !important;color:white !important}
   :link,:link *{color:#99C0EB !important}
   :visited,:visited *{color:#C398EB !important}';

    if(document.createStyleSheet){
        document.createStyleSheet("javascript:'"+styles+"'");
    }else{
        newSS=document.createElement('link');
        newSS.rel='stylesheet';
        newSS.href='data:text/css,'+escape(styles);
        document.getElementsByTagName("head")[0].appendChild(newSS);
    }
})();

啊。痛苦%20。
Hello71 2010年

这会将所有元素的背景设为黑色,并将所有元素(不仅仅是文本)变为白色。
Hello71 2010年

1
这确实很好。我将black更改为lightgrey,并删除了更改文本颜色的部分,因此文本仍为黑色。结果实际上是非常好的。唯一的问题是,它改变了几乎所有东西的背景,而不仅仅是白色,因此隐藏了很多东西(例如SU中的投票按钮)。有办法解决吗?
马拉巴巴

1
@ hello71,以某种方式,当我将其粘贴到浏览器中时,它将所有空格更改为%20。这些已被删除。我说过它会将所有背景更改为黑色,我已经对其进行了编辑,现在仅将文本背景更改为黑色,请再试一次。
Dour High Arch

4

在浏览器的搜索栏中,键入about:config

在搜索字段中,输入browser.display.background_color

双击字符串,然后将#FFFFFF(白色的十六进制代码)更改为#000000(黑色的十六进制代码)或您想要的任何其他颜色,然后单击OK。重新启动浏览器,使其生效。


3

在网址栏中输入about:config,然后导航至以下设置:browser.display.background_color

如果您在这里需要更多信息。


1
更改此变量仅适用于未指定背景色的网页。我只能在google.com/firefox和空白标签上使用它。
马拉巴巴

1
Firebug允许您更改页面,但是每次访问该站点时都必须这样做。仅更改白色背景有点困难。
jer.salamon 2010年


3

我最近更换了旧计算机,并需要重新设置Firefox。我希望恢复的主要内容之一是Greasemonkey脚本,该脚本更改了任何网站的背景颜色。

因此,我很生气,找不到以前用过的那个。长话短说-这是我的旧PC上的那个。

这个脚本不是我自己的作品

所有功劳必须归霍华德·史密斯所有。它最初发布在Userscripts.org上,现在似乎不可用。

只需在Greasemonkey中创建一个新的用户脚本并将以下内容粘贴到:

(function () {
    function noWhiteBackgroundColor() {
        function changeBackgroundColor(x)  {  // Auto change colors too close to white
            var backgroundColorRGB = window.getComputedStyle(x, null).backgroundColor;  // Get background-color
            if(backgroundColorRGB != "transparent")  {  // Convert hexadecimal color to RGB color to compare
                var RGBValuesArray = backgroundColorRGB.match(/\d+/g); // Get RGB values
                var red   = RGBValuesArray[0];
                var green = RGBValuesArray[1];
                var blue  = RGBValuesArray[2];

                // ============================================================================
                // Set the base colors you require:
                // Use: http://www.colorpicker.com
                // to find the RGB values of the base colour you wish to
                // suppress white backgrounds with:
                // Default gray provided:
                // ============================================================================

                var red_needed   = 220;
                var green_needed = 220;
                var blue_needed  = 255;


                if (red>=220 && green>=220 && blue>=220) { // White range detection

                   if (red>=250 && red<=255 && green>=250 && green<=255 && blue>=250 && blue<=255) {
                      red_needed   += 0;
                      green_needed += 0; }

                   else if (red>=240 && red<=255 && green>=240 && green<=255 && blue>=240 && blue<=255) {
                      red_needed   += 6;
                      green_needed += 3; }

                   else if (red>=230 && red<=255 && green>=230 && green<=255 && blue>=230 && blue<=255) {
                      red_needed   += 10;
                      green_needed += 5; }

                   else if (red>=220 && red<=255 && green>=220 && green<=255 && blue>=220 && blue<=255) {
                      red_needed   += 14;
                      green_needed += 7; }

                   x.style.backgroundColor = "rgb( " + red_needed + ", " + green_needed + ", " + blue_needed + ")"; // The background-color you want
               }
            }
        }

        var allElements=document.getElementsByTagName("*"); // Get all elements on a page
        for(var i=0; i<allElements.length; i++)  {
            changeBackgroundColor(allElements[i]);}
    }
    window.addEventListener("DOMContentLoaded",noWhiteBackgroundColor, false);
})();

我已经使用了将近两年,无法想到任何未能更改白色背景的网站。


很棒的脚本!现在,如果它仅适用于Firefox中的内部页面,例如about:addons,about:config,about:newtab,view-source:*.。您可以在顶部添加一个元数据部分,以便于导入。我将此脚本与“颜色切换”插件结合使用。
jk7


2

显色的

我用它。

通过高级控件对网页进行着色,以实现色彩,饱和度,亮度和不透明度。白名单网站域用于自动着色(可选!)。

新增:使用拖放功能可以将主题复制为文本并自由分组颜色属性。

PS:加上深色的Firefox主题


遗憾的是,不适用于FF v57及更高版本。
KERR

1

用鼠标左键单击该栏并进行自定义,您将看到一棵绿树,将其放在栏中并单击。颜色将改变,您仍然可以在“编辑->首选项->内容->颜色”菜单项中创建自己的颜色。

禁用:使用系统颜色并允许页面


0

尽管不完全是您想要的...我在OS X中使用了一个软件以及一个小脚本。该软件称为Nocturne。脚本找出我的地理位置的日出和日落时间。然后在日落时激活夜曲,并在日出时将其关闭。我不知道特定于Firefox的浏览器,但可以在任何浏览器和大多数其他软件上运行,因此肯定不错。


0

附件http://addons.mozilla.org/en-US/firefox/addon/black-background-white-text对黑色使用不同的方法。它仅反转颜色和背景图像(反转颜色不会破坏CSS或JavaScript方法中的页面设计)。您会喜欢上它的,就像是在白色模式下一样,您不必安装任何主题。

安装后,在以下菜单中将默认方法从“ simple css”更改为“ invert”:菜单工具附加组件黑色背景和白色文本更改页面颜色的默认方法反转

注意:如果您也将Windows模式也更改为黑色,那么最好禁用默认的Firefox颜色管理,并让附加组件完成所有工作,请执行以下操作:菜单工具选项内容颜色 →取消选中“使用系统颜色”,然后在“使用上面的选择覆盖由页面指定的颜色”中选择“从不”。

然后重新启动Firefox!

提示:附加组件在您的栏中添加了一个按钮,以将模式从“反转”方法禁用或更改为“ CSS”方法或“ JavaScript”方法。

结果如下:

黑火狐


链接断开(找不到页面)。
彼得·莫滕森

-1

另一种选择是仅使用“黄玉之戒”来更改背景颜色或移除背面。

转到网站后,输入网站的URL,然后选择一种背景/字体颜色组合,使您更容易理解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.