0

我编写了一个简单的greasemonkey 脚本,当我按下右箭头键时,可以在弹出的模块演示窗口中单击下一步按钮。

我无法在网上找到很多关于此的信息。如果窗口不是弹出窗口,代码似乎可以工作,否则它只会在函数外部打印 console.log 并且永远不会到达函数 myEventHandler 的内部。我认为问题似乎出在 window.addEventListener 或者事件根本没有被触发。

// ==UserScript==
// @name     Back/Next with Arrow Keys
// @version  1
// @grant    none
// @run-at          document-end
// ==/UserScript==

window.addEventListener("keypress", myEventHandler, false);

console.log('Outside function');
function myEventHandler(e) {
    console.log('fired EventHandler');
        var keyCode = e.keyCode;
        console.log(e, keyCode, e.which)
        if (keyCode === 39) {
      console.log('Right arrow key pressed!');
          var x = document.getElementsByClassName("btn cs-button inflexible  slide-control-button-next slide-lockable");
        x[0].click();
    }
};

任何帮助将不胜感激。我很乐意提供更多需要的信息。

4

0 回答 0