相关疑难解决方法(0)

当标签或窗口不活动时,浏览器如何暂停/更改Javascript?

背景:我正在做一些需要检测人们是否注意的用户界面测试.但是,这个问题是不是有关的页面知名度API.

具体来说,我想知道如果在不同的浏览器中当前选项卡未激活或浏览器窗口未激活,我的Javascript代码将如何受到影响.到目前为止,我已经挖出了以下内容:

我有以下问题:

  • 除了移动浏览器之外,当选项卡不活动时,桌面浏览器是否会暂停JS执行?何时和哪些浏览器?
  • 哪些浏览器减少setInterval重复?它只是减少到一个限度或一个百分比?例如,如果我有一个10ms重复而不是5000ms重复,那么每个都会受到怎样的影响?
  • 如果窗口失焦,是否会发生这些变化,而不仅仅是标签?(我想它会更难检测,因为它需要OS API.)
  • 在活动标签中是否还有其他效果?他们会把那些本来可以正确执行的事情弄糟(即前面提到的Jasmine测试)吗?

javascript browser

158
推荐指数
2
解决办法
5万
查看次数

仅当选项卡处于活动状态时才运行setTimeout

setTimeout("myfunction()",10000);当页面不活动时,有没有办法停止计数.例如,

  1. 用户到达"某个页面"并在那里停留2000ms
  2. 用户转到另一个选项卡,打开"某个页面".
  3. myfunction() 直到他们再回来8000ms才开火.

javascript jquery

19
推荐指数
3
解决办法
2万
查看次数

持续刷新 HTML 表格 (SPA) 的最佳选择

我们正在寻找一种简单的方法来持续更新 HTML 表 (SPA)以显示收到的“订单”。目前,我们每次想要查看新订单时都必须刷​​新页面。以我有限的前端知识,我可以想到3种方法来做到这一点。我将不胜感激关于最佳方法的建议:

1- 定期(每 10 秒?)发出 AJAX 请求,然后让 JS 框架(Vue 或 React)更新表。

2- 使用 WebSocket(而不是 HTTP)使服务器能够在收到此类新订单时推送数据。

3- 使用通知服务:后端向客户端浏览器订阅的主题发送通知。这会触发前端框架中的一些代码从服务器请求新订单。那可行吗?

同样,我对前端框架(VueJS、React)可以或不能做什么的了解非常有限。我不希望这成为一个完整的项目。我们只是在为(希望如此!)非常常见的用例寻找一个简单的解决方案。谢谢你。

javascript ajax frontend reactjs vue.js

6
推荐指数
1
解决办法
659
查看次数

标签 统计

javascript ×3

ajax ×1

browser ×1

frontend ×1

jquery ×1

reactjs ×1

vue.js ×1