相关疑难解决方法(0)

有没有办法检测浏览器窗口当前是否处于活动状态?

我有定期执行活动的JavaScript.当用户没有看到该站点时(即窗口或选项卡没有焦点),最好不要运行.

有没有办法使用JavaScript?

我的参考点:如果您使用的窗口未处于活动状态,则Gmail聊天会播放声音.

javascript browser focus window

560
推荐指数
13
解决办法
25万
查看次数

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

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

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

我有以下问题:

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

javascript browser

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

检测移动到Mobile Safari中的新选项卡

我有一系列打开弹出窗口的页面(Mobile Safari中的新标签.)这些弹出窗口中的每一个都需要知道它们何时成为焦点.在桌面上,我们使用window.onblurwindow.onfocus驱动此行为.但是,这些事件都不适用于iPad.我也试过window.onpageshow,window.onpagehide似乎也没有在正确的时间开火.我有一个测试HTML文件:

<html>
<head>
<script language="javascript">
console.log('Hello');
window.onblur = function(e) { console.log('blur'); };
window.onfocus = function(e) { console.log('focus'); };
window.onpagehide = function(e) { console.log('pagehide'); };
window.onpageshow = function(e) { console.log('pageshow'); };
</script>
</head>
<body>
<a href="http://www.google.com" target="_blank">Click Me</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

理论上,当您单击"单击我"时,您应该在出现新窗口时出现模糊事件.但这不会发生在Mobile Safari上.onpagehide并且也onpageshow没有表现出爱,它们只能帮助您检测何时关闭标签.

如何在Mobile Safari中获取我正在寻找的行为?有可能吗?

javascript iphone mobile-safari ipad ios

7
推荐指数
2
解决办法
8096
查看次数

标签 统计

javascript ×3

browser ×2

focus ×1

ios ×1

ipad ×1

iphone ×1

mobile-safari ×1

window ×1