javascript 中是否有一些我可以使用的窗口变量,或者是否有一种方法可以在不使用日期对象的情况下使用计时器来跟踪耗时? flash.utils.getTimer 在此应用程序的 flash 版本中运行良好,我正在尝试将其移植到 javascript。我不能冒更改系统时钟导致安全问题的风险,所以我不想使用 Date 对象。
我有一个服务器时间戳,我想创建一个独立于操作系统时间的计时器来计算当前服务器时间。我将使用这个计算值来允许在服务器时间的窗口期间进行不同的操作。我不担心 javascript 黑客攻击,因为我知道那里没有安全措施,但我想防止临时用户弄乱某些功能的可用性。
谢谢
为澄清而添加:
此项目与现场视频事件有关。实时视频有一个相对于服务器的开始时间,通过另一个网络服务我可以获取服务器时间。我需要做的是独立于用户的本地时间在客户端计算机上维护此服务器时间,以确定直播流何时应在客户端开始和停止。所以问题不在于我存储服务器时间的格式,而在于我如何在不使用日期对象的情况下获取服务器时间时的耗时。
最佳答案
您可以创建自己的计时器对象:
function Timer(init, precision) {
var start = time = new Date(init || null).valueOf(),
precision = precision || 100;
setInterval(function () { time += precision; }, precision);
this.elapsed = function() { return time - start; };
this.getDate = function() { return new Date(time); };
}
并使用它:
var t = new Timer(); // default timer
/* ... do things ... */
alert( t.elapsed() ); // a millisecond value
alert( t.getDate() ); // a Date object
使用 init
参数以您喜欢的任何给定日期值启动计时器。
关于Javascript 等同于 flash.utils.getTimer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8551788/