背景:我正在做一些需要检测人们是否注意的用户界面测试.但是,这个问题是不是有关的页面知名度API.
具体来说,我想知道如果在不同的浏览器中当前选项卡未激活或浏览器窗口未激活,我的Javascript代码将如何受到影响.到目前为止,我已经挖出了以下内容:
setInterval而setTimeout当标签不主动延迟降低 -看起来这只是最近开始出现,并可以搞砸茉莉花单元测试,周围的其他事物.requestAnimationFrame 选项卡未激活时速度变慢(合理,无法想到为什么这会对任何人造成太大影响)我有以下问题:
setInterval重复?它只是减少到一个限度或一个百分比?例如,如果我有一个10ms重复而不是5000ms重复,那么每个都会受到怎样的影响?setTimeout("myfunction()",10000);当页面不活动时,有没有办法停止计数.例如,
myfunction() 直到他们再回来8000ms才开火.我们正在寻找一种简单的方法来持续更新 HTML 表 (SPA)以显示收到的“订单”。目前,我们每次想要查看新订单时都必须刷新页面。以我有限的前端知识,我可以想到3种方法来做到这一点。我将不胜感激关于最佳方法的建议:
1- 定期(每 10 秒?)发出 AJAX 请求,然后让 JS 框架(Vue 或 React)更新表。
2- 使用 WebSocket(而不是 HTTP)使服务器能够在收到此类新订单时推送数据。
3- 使用通知服务:后端向客户端浏览器订阅的主题发送通知。这会触发前端框架中的一些代码从服务器请求新订单。那可行吗?
同样,我对前端框架(VueJS、React)可以或不能做什么的了解非常有限。我不希望这成为一个完整的项目。我们只是在为(希望如此!)非常常见的用例寻找一个简单的解决方案。谢谢你。