我编写了一个简单的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();
}
};
任何帮助将不胜感激。我很乐意提供更多需要的信息。