1

我编写了以下 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 运行它,但我得到的只是“游戏”函数没有定义的事实。这不是问题,因为代码将运行在已经定义“游戏”功能的网页上。只是为了确保,我删除了这些代码行,但我仍然无法获得弹出任何键的提示。

任何帮助将不胜感激。

4

1 回答 1

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".');
   }
};
于 2013-11-10T02:53:02.450 回答