gpt4 book ai didi

javascript - 需要解决 Firefox Date() 错误

转载 作者:可可西里 更新时间:2023-11-01 02:02:10 26 4
gpt4 key购买 nike

我正在制作一个 Canvas 图,该图会根据我们向客户显示的信息实时更新,并且正在为时钟上的 DST 更改做准备。我们的要求之一是图表能够照常运行,而无需客户在时钟切换时刷新页面。

在处理这个问题时,我发现了 Firefox 的这个错误:

https://bugzilla.mozilla.org/show_bug.cgi?id=127246

基本上,如果系统时间更改而不必关闭浏览器/选项卡,JavaScript 中的 Date() 对象不会在 Firefox 中更新,并且当我们使用系统时钟查询 API 时,这是一个非常重要的问题问题。

我假设它没有修复,因为票仍然标记为"new",而且我也很确定这是导致问题的原因而不是我的代码的另一部分,所以我怎样才能得到当前时间在 Firefox 中更改系统时钟后无需刷新页面的系统时钟?

仅供引用,我使用的 Firefox 版本是 19.0.2

提前致谢

示例

将系统时钟设置为 12:00 并打开网络应用...

var currentHour = new Date().getHours() //returns 12

在不重新打开网络应用程序的情况下将系统时钟设置为 13:00..

var currentHour = new Date().getHours() //returns 12

最佳答案

您永远不能依赖客户端设置正确的日期/时间。我能想到的唯一解决方法是从另一个来源请求当前时间,例如服务器。

如果你不想让你自己的服务器出现故障,你可以找到一个返回时间戳的公共(public) API,比如 kind of Time API。 ,或具有可靠正常运行时间的服务,例如 eBay 的客户端警报 API:

http://clientalerts.ebay.com/ws/ecasvc/ClientAlerts?callbackname=hello&callname=GetPublicAlerts

hello({"Timestamp":"2013-03-22T14:43:21.757Z","Ack":"Failure","Errors":[{"ShortMessage":"Missing required input element.","LongMessage":"Required input element is missing from the request.","ErrorCode":"1.19","SeverityCode":"Error","ErrorParameters":[{"Value":"ChannelDescriptor","ParamID":"0"}],"ErrorClassification":"RequestError"}],"Build":"E809_CORE_BUNDLED_15739296_R1","Version":"809"});

忽略所有内容,只获取 UTC 时间戳。只需确保您不会为了您并不真正需要的数据而对某些服务器进行猛烈抨击!

关于javascript - 需要解决 Firefox Date() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com