有没有办法在加载页面中“注入”自定义键盘快捷键?

问题描述 投票:0回答:1

我正在研究为自己浏览reddit创建自定义键盘快捷键。

我的计划是创建一个事件监听器来监听某个键和弦,然后在RES中切换一个开关。当我加载Reddit时,我无法找到“注入”的方法(不确定我是否使用了正确的单词)。

我希望这个快捷方式可以在按键上切换Nightmode(或其他开关)。

javascript reddit
1个回答
0
投票

我找到了一种使用名为“Tampermonkey”的Chrome扩展程序来实现此目的的方法。

这是我使用的代码:

    var eventUtility = {
        addEvent : function(el, type, fn) {
            if (typeof addEventListener !== "undefined") {
                el.addEventListener(type, fn, false);
            } else if (typeof attachEvent !== "undefined") {
                el.attachEvent("on" + type, fn);
            } else {
                el["on" + type] = fn;
            }
        }
    };


    (function() {
        eventUtility.addEvent(document, "keydown",
            function(evt) {
                var code = evt.keyCode,
                shiftKey = evt.shiftKey;

                //Shift Key + N
                if (shiftKey && code === 78) {
                    if(document.getElementById('night mode')){
                        document.getElementById('night mode').click();
                    } else {
                        document.getElementById('RESSettingsButton').click();

                        var toggleFilter = function() {
                          document.getElementById('night mode').click();
                        };
                        setTimeout(toggleFilter, 50);
                    }
                }
            });
    }());
© www.soinside.com 2019 - 2024. All rights reserved.