【问题标题】:Time count - from frontend to backend [closed]时间计数 - 从前端到后端 [关闭]
【发布时间】:2019-03-08 08:27:40
【问题描述】:

我正在考虑做一个简单的计时器,所以当点击计时器时,时间开始计时,然后我可以停止它,经过的时间将保存到数据库中。

但我发现它有一些技巧:

1) 当(当前计时器的)选项卡切换到另一个选项卡时,时间计数不可靠,因为非活动选项卡的优先级较低。

2) 如何在后端使用 PHP 更改经过的时间? (我曾想过每 XX 秒调用一次 AJAX 以通过后端对其进行验证,但是如何在我的后端使用 PHP 制作这样的计数器?这甚至可以使用 PHP 吗?

附:我不介意放弃旧版浏览器,但我想支持所有现代浏览器(Edge 除外 :))

【问题讨论】:

  • 你已经尝试了什么?有示例代码吗?

标签: javascript php jquery


【解决方案1】:

这个问题有点含糊,但我会尽力回答。

我认为您可以在第一次点击时使用时间戳,并将其与第二次点击计时器进行比较,这不会受到“背景”选项卡问题的影响并且很容易制作。

然后你减去时间,然后你有多少时间过去了,而不必费心通过事件循环增加时间,这是我认为这一切都出错的地方。

你甚至可以“疯狂”,让点击只是调用后端,每个人都有所有的时间戳,所以时间的计算总是可靠的,但仍然应该只是一个简单的问题日期减法

还要忘记每秒调用后端的事情等等,因为这将是一项巨大的努力,实际上并不能解决您的问题,事件循环在前台不可靠。

注意:另外,下次最好与社区分享一个 sn-p,以便我们更好地了解您的顾虑以及您之前尝试过哪些无效的方法。

注意2:此计时器不应用于重要事项,如果从客户端检索时间戳,则可能会被欺骗,以确保安全。 作为一般规则,永远不要相信后端的客户(很明显,在谈论可能破坏您的业务的重要操作时,例如转账、门票等)

【讨论】:

  • 值得注意的是,如果在客户端获取时间戳,则不应将此计时器用于安全等重要事项,因为可以通过更改客户端设备时间设置来欺骗它。调用后端更可靠,但不太精确,因为它会考虑请求时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-28
相关资源
最近更新 更多