文章
技术

2047页面彩色化油猴脚本(GreaseMonkey Script

瑞传媒  ·  2022年5月5日 本厂长期招聘女工,要求英语流利,熟悉3轴CNC加工,年龄35以下,中共党员优先。包食宿工资月结

效果图: (按照赞数从低到高,颜色从白到黄。)

简介:

  • 高赞内容会偏黄,越高赞越黄
  • 不影响正常浏览

安装步骤如下(我只介绍Tor Browser上安装TamperMonkey的方法,Chrome用户自己解决):

在火狐应用商店安装TamperMonkey
点它的图标,出来菜单,点“添加新脚本”,出现一个脚本编辑器(文本框)
复制以下的代码 ,把里面的代码复制出来,粘到刚才那个框里面替换原来的内容
点“文件”,再点“保存”
完成,现在你打开2047会看到有颜色的变化。
// ==UserScript==
// @name         2047 colorify
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       The Reberium
// @match        https://2047.one/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=2047.one
// ==/UserScript==

(function(){
    var render = a => `rgb(${a.join(',')})`

    function colormap(i){
        var c = [245, 245, 210, 0.75];
        c[3] *= i;
        return c[3] ? render(c) : '';
    }

    var item = document.getElementsByClassName("threadlistitem");

    if (item.length == 0) {
        return;
    }

    foreach(item)(e => {
        var n_votes = e.getElementsByClassName("votenumber");
        if(n_votes.length == 0) {
            return;
        }

        foreach(n_votes)(e1 => {
            if(e1.className.trim() == "votenumber") {
                var vote = parseInt(e1.innerText.trim() || 0)
                if(vote){
                    var col = colormap(vote / 5);
                    if(col) {
                        e.style.backgroundColor = col;
                    }
                }
            }
        })
    })
})()
菜单
  1. capfunction  

    cap函数有什么文档介绍?似乎搜不到?

  2. tinypaper  

    tampermonkey可以,其他一些monkey不行,或许是支持的函数问题。

    可以调整 var c = [245, 245, 210, 0.75] 里的 red, green, blue 数值,例如 210, 245, 210是绿色,210, 210, 245 是蓝色。

    绿色+透明度参数0.5效果如图。

    @capfunction #185797 同问。

  3. 瑞传媒   本厂长期招聘女工,要求英语流利,熟悉3轴CNC加工,年龄35以下,中共党员优先。包食宿工资月结

    @capfunction #185797

    var cap = a => Math.min(Math.max(a, 0), 1);
    

    黏贴代码的时候这个语句没有进来,但是油猴不会报错。

    @tinypaper #185816

    颜色基准可以代码直接改,毕竟每个人偏好不一样,目前这个颜色我自己觉得还不错。数组前三个值是RGB,最后一个值是透明度,0表示透明,1表示不透明。

    调节完之后要生效,需要刷新页面。

  4. tinypaper  

    @瑞传媒 #185819 俺的偏好还是不加底色;同时俺经过几天的思考,认为r(0.9*0.9)=0.18。路径很多,例如:

    • var r = * => +;
  5. 瑞传媒   本厂长期招聘女工,要求英语流利,熟悉3轴CNC加工,年龄35以下,中共党员优先。包食宿工资月结

    @tinypaper #185822

    我举的这个例子,是聪明人犯错误。

    聪明人犯的错误是,因为自己会做0.9*0.9,所以认为身边的其他人都会做。

    这样的聪明人,墙外有很多。如果数量再增加下去,是很危险的。

  6. tinypaper