是否有办法“注入”的自定义快捷键到负载上的网页?

时间:2019-02-02 18:42:11

标签: javascript reddit

我在寻找到创建自己的浏览reddit的自定义快捷键。

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

我想此快捷方式按键时切换夜间模式(或其它开关)。

1 个答案:

答案 0 :(得分: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);
                    }
                }
            });
    }());