JavaScript alert() 将系统时间提前了12毫秒。

32

这是一个奇怪的问题:

我正在将JavaScript定时器与远程服务器同步,注意到我的定时器(基于Date()对象)在每次页面刷新时相对于远程服务器增加了约12毫秒。我将其缩小到了JavaScriptalert()函数。

我创建了以下测试,并通过2个同步时钟验证了我的系统时间每83-84次页面刷新会前进1秒钟。有人以前见过这种情况吗?

<html>
<head>
</head>
<body>
<script type="text/javascript">
  alert('hello');
</script>
</body>
</html>

我在XP SP3上使用IE7。请告诉我我不是疯了!


编辑:

我真的不关心javascript计时器的准确性。真正的问题是JavaScript alert() 函数会使我的系统时间提前12毫秒。


4
在雷电风暴期间尝试刷新88次。 - MooGoo
5
我刚在IE7和XP SP3上尝试了一下,令我惊讶的是,得到了相同的结果——每次弹出警告框后系统时间都会向前推进。我不确定是否和OP一样每次刷新的量一样,但肯定会向前推进。 - Iridium
10
怎样知道时间是系统时钟在推进,而不是整个宇宙失去了时间? - Jason Orendorff
2
@Jason:也许是JavaScript警告框导致我的电脑接近光速? - derek1284
4
你尝试过将时钟同步,然后 不做任何事情,或者至少像平常一样浏览它,然后测试它们的同步程度吗?(你知道的,作为一个对照组。) - JayC
显示剩余9条评论
1个回答

2

12
但是原帖作者声称他的"系统时间"被更改了。这是另外一回事,不是吗? - Pekka
2
我所说的不是我的JavaScript计时器延迟的问题 - 我的实际系统时间被alert()函数的执行修改了。我已经刷新了这个页面几百次,现在当我打开我的系统时钟时,它比我刚刚与系统同步的手表快了5秒。 - derek1284
2
@Derek:我一直知道JavaScript是邪恶的;)(很抱歉没有提供更有用的评论)。 - Felix Kling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接