0

我在业余时间用 Jquery 开发一个小游戏来学习 Jquery。基本概念每次计时器滴答并更新存储在 cookie 中的分数时都会添加一个点。这是处理大部分更新的计时器:

setInterval(mainTimer, 1000); //set timer
function mainTimer(){
    createPage(); //updates the page variables and shows the score
    addValues(); //increases the values

}

我遇到的问题是人们可以简单地打开多个页面,并且计时器会为每个页面触发。因此,如果您打开了 4 个页面,则分数的更新速度将提高 4 倍。

我用谷歌搜索了很多不同的东西,但我找不到任何可行的方法。一种方法将是我猜测的某种标记,但老实说,我不知道从哪里开始,因此不胜感激。

我读了一些关于 open.window 函数的东西来检查现有的窗口,但我什么也没有。

open.window("foo","bar"); 
4

1 回答 1

1

您也可以在 cookie 中存储时间戳和以前的值,并在更新它们之前检查匹配项。因此,在间隔上,您检查当前时间戳是否在最后一个时间戳之后至少 1000 毫秒。如果是,则更新分数和时间戳,如果不是,则给出错误。

也就是说,任何没有服务器端验证的 javascript 游戏都容易受到“黑客攻击”。

于 2015-08-21T20:52:01.097 回答