所以我有以下脚本:
<HTML><HEAD>
<SCRIPT>
function alert_minutes() {
var d=new Date();
alert ('Minutes past the hour: '+d.getMinutes());
}
</SCRIPT>
</HEAD><BODY>
<button onclick="alert_minutes()">Click Me</DIV>
</BODY></HTML>
我将它加载到Chrome中。我按下按钮,它告诉我
Minutes past the hour: 30
这是正确的。我将当地时间快了十分钟,然后再次按下并告诉我
Minutes past the hour: 40
所以没问题。现在我将当地时间设置回正确的时间,第三次按下它仍然显示
Minutes past the hour: 40
我刷新页面,第四次按下它,但它仍然说
Minutes past the hour: 40
我关闭所有Chrome窗口并重新打开浏览器,最后知道正确的时间。
所以我总结说“如果没有关闭并重新打开浏览器,Chrome就无法处理当地时间倒退,只能转发”。使用与Firefox相同的脚本不是这种情况。有人知道这个bug的解决方法吗?我在Win XP上使用Chrome 16。
答案 0 :(得分:1)
这是正常的,如果它使用单调时钟(例如CLOCK_MONOTONIC)来获取时间
答案 1 :(得分:1)
似乎是五分钟的间隔?
如果你向前移动它会在那里说大约五分钟,即使你把时间移回去,然后更新。
解释更多,你这个功能的原因,有多重要?如果时间紧迫,你应该在服务器端做这件事。
答案 2 :(得分:0)
是的,也可以在WinXP上重现
<html>
<head>
<script type='text/javascript'>
function alert_minutes() {
var d = new Date();
alert ('Minutes past the hour: ' + d.getMinutes());
}
</script>
</head>
<body>
<button onclick="alert_minutes()">Click Me</button>
</body>
</html>
我也关闭了第9行的'button'标签,你关闭了'div'标签,但那不存在。重置脚本的唯一方法是退出选项卡的进程,然后重新打开它。
PS。对不起我的英文