吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1165|回复: 20
收起左侧

[其他转载] 【油猴脚本】网页亮度调节 修复键盘事件

[复制链接]
t17773839515 发表于 2026-3-16 11:49
本帖最后由 t17773839515 于 2026-3-16 14:01 编辑

换了个键盘,找半天没找到调节亮度的,网上找了个网页调节亮度的脚本,但是有点过时了,一些网页没有对应的键盘事件,修复了一下
alt+上 调高亮度
alt+ 下 降低
ctrl+alt+s 调出滑动悬浮窗


亮度调节脚本
[JavaScript] 纯文本查看 复制代码
// ==UserScript==
// @name         调整网页亮度
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  调整网页亮度,护眼
// @match        http://*/*
// @match        https://*/*
// @match        file:///*
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

(function () {
    'use strict';
    //保证iframe不起作用
    if (self == top) {
        var timer = null;
        var mousemove = false;
        var shift_downorup = false;
        var liangduui;
        var liangduuitz;
        var liangduuitzmouse;
        var __nightingale_view_cover;
        var inserted = false;
        var bound = false;

        function insertHTML(lv) {
            if (inserted) {
                var cover = document.querySelector("#__nightingale_view_cover");
                if (cover) cover.style.opacity = lv;
                return;
            }
            if (self == top) {
                //https://www.easyicon.net/api/resizeApi.php?id=1180288&size=24
                document.body.insertAdjacentHTML("beforebegin",
                    '<div class="liangduui" style="display: none; width: 60px; height: 170px; background-color: rgb(255, 255, 255); z-index: 2147483640; position: fixed; top: 200px; left: 50%; border-radius: 50px; box-shadow: rgb(74, 74, 74) 0px 0px 20px;"><div class="liangduuitzmouse" style="width:40%;height:100px;background-color:#cecece;position:absolute;top:20px;left:30%;border-radius:50px;cursor:pointer"><div class="liangduuitz" style="width: 100%; height: 100%; background-color: rgb(147, 112, 223); position: absolute; bottom: 0px; right: 0px; border-radius: 50px;"></div></div><div style="background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAtFBMVEUAAABPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNPXXNOXHJNXHJmcoVgbIBqdolNW3GwtsBNW3JMW3GLlKLX2+BfbIBKWG+CjJyDjZxKWW/Y2+CLlKNea3+XoK1pdYh9iJiYoK16hZbS1tz5+fr////T1tzs7fCDjJxmc4bS1ttpdYd6hZXr7e98hpfj5em7wcmutL6utb9gbYGqsLvt7vFueYxjZY6cAAAAD3RSTlMAAAhBktDyOKftBmzngPgUDvOpAAAAAWJLR0QqU77UngAAAAd0SU1FB+UCEQw2CnjrwgQAAAE1SURBVCjPdZLpdoIwEIUTFgFRJyAQEFdWQVvr1rq8/3t1kkBPz2mdPzm5H9zZQgghlFJNN8wBwMA0dA2vhCiZWrYDXTi2RRWidOiOpMaYPEbuUADUxxMUPWC+z8BDOBkLQqkr9GkAYRRxCKaCuAJYwidOZul8sVyl600s3CxKNBu/j3mWF2VVlUWe8Rj/sTWiO+izyXi9bdq22dU8S9DN0YkB4AXrvN63MvZ1Pgs8AIOYosK02LVdbItUKCbBflk4L5seNOU8xCQDgrofvVXtT1SL6B2JAst/wF+rlbLqkh96cPjokstyZ/nxpPTTMV+rcmWDScbOF6FfzizbqAbVSBiEVwGuobyIkaghIvwU4KtbidWPHcHt/njcbxKosatFIYHnE5Q+7lfYrZbz36t9/RhePJ9vQOAtdle14JgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDctMTlUMDM6Mzk6MTgrMDA6MDA7B0fYAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTAxLTA4VDE5OjM5OjQ4KzAwOjAwyXZcbAAAACB0RVh0c29mdHdhcmUAaHR0cHM6Ly9pbWFnZW1hZ2ljay5vcme8zx2dAAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAGHRFWHRUaHVtYjo6SW1hZ2U6OkhlaWdodAAxMjhDfEGAAAAAF3RFWHRUaHVtYjo6SW1hZ2U6OldpZHRoADEyONCNEd0AAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9wbmc/slZOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTU0Njk3NjM4OKgYFgEAAAARdEVYdFRodW1iOjpTaXplADMzMDhCPmi6RgAAAFp0RVh0VGh1bWI6OlVSSQBmaWxlOi8vL2RhdGEvd3d3cm9vdC93d3cuZWFzeWljb24ubmV0L2Nkbi1pbWcuZWFzeWljb24uY24vZmlsZXMvMTE4LzExODAyODgucG5n1XuOIwAAAABJRU5ErkJggg==);width:24px;height:24px;position:absolute;bottom:15px;right:18px;border-radius:50%;box-shadow:0 0 10px #9370df;background-repeat:no-repeat"></div></div><div id="__nightingale_view_cover" style="width: 100%; height: 100%; transition: -webkit-transform 10s ease-in-out 0s; position: fixed !important; left: 0px !important; bottom: 0px !important; overflow: hidden !important; background: rgb(0, 0, 0) !important; pointer-events: none !important; z-index: 2147483647; opacity: ' +
                    lv + ';"></div>');
            }

            liangduui = document.querySelector(".liangduui");
            liangduuitz = document.querySelector(".liangduuitz");
            liangduuitzmouse = document.querySelector(".liangduuitzmouse");
            __nightingale_view_cover = document.querySelector("#__nightingale_view_cover");

            liangduui.style.top = ((window.innerHeight / 2) - (liangduui.offsetHeight / 2)) + "px";
            liangduui.style.left = ((window.innerWidth / 2) - (liangduui.offsetWidth / 2)) + "px";

            function updateLvFromEvent(event) {
                var rect = liangduuitzmouse.getBoundingClientRect();
                var ratio = (rect.bottom - event.clientY) / rect.height;
                var newLv = Math.max(0, Math.min(1, ratio));
                liangduuitz.style.height = (newLv * 100) + "%";
                GM_setValue("lv", newLv);
                __nightingale_view_cover.style.opacity = newLv;
            }

            liangduuitzmouse.addEventListener('mousedown', function (event) {
                window.clearTimeout(timer);
                mousemove = true;
                updateLvFromEvent(event);
            });

            liangduuitzmouse.addEventListener('mousemove', function (event) {
                if (!mousemove) return;
                updateLvFromEvent(event);
            });

            liangduuitzmouse.addEventListener('mouseup', function (event) {
                mousemove = false;
                timer = setTimeout(function () {
                    liangduui.style.display = "none";
                }, 2000);
            });

            liangduuitzmouse.addEventListener('mousewheel', function (event) {
                mousemove = false;
                timer = setTimeout(function () {
                    liangduui.style.display = "none";
                }, 2000);
            });
            inserted = true;
        }

        if (GM_getValue("lv") == undefined) {
            GM_setValue("lv", '0.35');
        }

        function run() {
            if (!document.body) {
                if (document.readyState === 'loading') {
                    document.addEventListener('DOMContentLoaded', run);
                } else {
                    setTimeout(run, 100);
                }
                return;
            }
            if (!bound) {
                bound = true;
                document.addEventListener('keydown', function (event) {
                if (event.altKey && event.key === 'ArrowDown') {
                    var lv = parseFloat(GM_getValue("lv"));
                    lv += 0.02;
                    if (lv > 1.0) lv = 1.0;
                    GM_setValue('lv', lv);
                    if (__nightingale_view_cover) __nightingale_view_cover.style.opacity = lv;
                    if (liangduui) { liangduui.style.display = "block"; liangduuitz.style.height = (lv * 100) + "%"; }
                    window.clearTimeout(timer);
                    timer = setTimeout(function () { if (liangduui) liangduui.style.display = "none"; }, 2000);
                } else if (event.altKey && event.key === 'ArrowUp') {
                    var lv = parseFloat(GM_getValue("lv"));
                    lv -= 0.02;
                    if (lv < 0) lv = 0;
                    GM_setValue("lv", lv);
                    if (__nightingale_view_cover) __nightingale_view_cover.style.opacity = lv;
                    if (liangduui) { liangduui.style.display = "block"; liangduuitz.style.height = (lv * 100) + "%"; }
                    window.clearTimeout(timer);
                    timer = setTimeout(function () { if (liangduui) liangduui.style.display = "none"; }, 2000);
                } else if (event.ctrlKey && event.altKey && (event.key === 's' || event.which === 83)) {
                    if (liangduuitz) liangduuitz.style.height = (parseFloat(GM_getValue("lv")) * 100) + "%";
                    if (liangduui) liangduui.style.display = "block";
                } else if (event.shiftKey) {
                    shift_downorup = true;
                }
            });
            document.addEventListener('keydown', function (event) {
                if (event.shiftKey) shift_downorup = false;
            });
            document.addEventListener('visibilitychange', function () {
                if (document.visibilityState === 'hidden') return;
                var lv = parseFloat(GM_getValue("lv"));
                if (document.querySelector("#__nightingale_view_cover") == null) {
                    insertHTML(GM_getValue("lv"));
                }
                var cover = document.querySelector("#__nightingale_view_cover");
                if (cover) cover.style.opacity = lv;
            });
                document.body.addEventListener('click', function () {
                    if (liangduui) liangduui.style.display = "none";
                    mousemove = false;
                });
            }
            insertHTML(GM_getValue("lv"));
        }
        setTimeout(run, 300);
    }
})();





免费评分

参与人数 5吾爱币 +11 热心值 +4 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yyxu44 + 1 学习一下
shanzhanzhe + 1 + 1 谢谢@Thanks!
sinkfin + 1 + 1 谢谢@Thanks!
whit15 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lkl2425572 发表于 2026-3-16 13:38
声音也一并加进去吧
jtjt68 发表于 2026-3-16 13:08
Starry58 发表于 2026-3-16 14:01
lshp622 发表于 2026-3-16 12:04
厉害呀这也能调节呀,学习了,有时间时试试。
kingmars 发表于 2026-3-16 12:07
学习一下
头像被屏蔽
zljxaoshuai 发表于 2026-3-16 12:19
提示: 作者被禁止或删除 内容自动屏蔽
caoyi224 发表于 2026-3-16 12:27
一直想找的软件,谢谢大神!
feihaoge 发表于 2026-3-16 12:34
感谢分享
tutu2 发表于 2026-3-16 13:04
大佬可以看看我这个脚本怎么写吗?https://www.52pojie.cn/thread-2097079-1-1.html
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-6-19 09:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表