阻止 Jquery 计时器在多个浏览器页面上触发两次

Stop Jquery timer from triggering twice on multiple browser pages

业余时间在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 函数的内容以检查现有的 windows 但我无法找到任何具体的内容。

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

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

也就是说,任何 javascript 未经服务器端验证的游戏都容易 'hacking'。