onkeydown不在Greasemonkey工作

时间:2013-11-10 02:47:55

标签: javascript greasemonkey onkeydown tampermonkey

我已经编写了以下Greasemonkey脚本来在热门游戏Cookie Clicker中添加或删除Cookie。

function addCookies()
{
var cookiesString = prompt("How many cookies would you like to gain?");
var cookiesInt = Math.floor(cookiesString);
Game.Earn(cookiesInt);
alert("Your cookies have been added!");
}
function removeCookies()
{
var cookiesString2 = prompt("How many cookies would you like to remove?");
var cookiesInt2 = Math.floor(cookiesString2);
Game.cookies -= cookiesInt2;
alert("Your cookies have been removed.");
}
window.onkeydown = function(event) {
   if (event.keyCode === 81) {
      addCookies();
   }
   if (event.keyCode === 87) {
      removeCookies();
   }
   if (event.keyCode === 18) {
       alert('To add cookies, press "Q".  To remove cookies, press "W".');
};

出于某种原因,当我按“Q”键(或任何其他键,就此而言)时,它们的代码不会运行。有谁知道为什么会这样?

我通过JSLint运行它,但我得到的只是“游戏”功能未定义的事实。这不是问题,因为代码将在网页上运行,该网页定义了“游戏”功能。为了确保,我删除了那些代码行,但仍然无法提示弹出任何键。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您在最终if声明中遗漏了一个结束括号。校正:

/* ...snip */
window.onkeydown = function(event) {
   if (event.keyCode === 81) {
      addCookies();
   }
   if (event.keyCode === 87) {
      removeCookies();
   }
   if (event.keyCode === 18) {
       alert('To add cookies, press "Q".  To remove cookies, press "W".');
   }
};