gpt4 book ai didi

javascript - 在所有浏览器的 win 和 mac 上,当页面失去焦点并最小化时停止自动刷新

转载 作者:行者123 更新时间:2023-11-28 08:30:26 24 4
gpt4 key购买 nike

我有一个场景,我想在以下情况下停止页面自动刷新:

  1. 焦点失焦
  2. 浏览器已最小化。

我可以先做,但尤其是在 Mac 上,我无法找出方法。

任何帮助将不胜感激。

最佳答案

不确定您尝试了什么,但如果您想查找浏览器窗口非事件状态,您可以使用 Page Visibility API这使我们能够检测页面何时对用户隐藏。

注意:(来自 w3.org)

This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power and CPU efficient web applications.

您必须注册visibilitychange事件,示例代码如下:

<!DOCTYPE html>
<html>
<head>
<script>
var timer = 0;
var PERIOD_VISIBLE = 1000;
var PERIOD_NOT_VISIBLE = 60000;

function onLoad() {
timer = setInterval(checkEmail, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE);
if(document.addEventListener) document.addEventListener("visibilitychange", visibilityChanged);
}

function visibilityChanged() {
clearTimeout(timer);
timer = setInterval(checkEmail, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE);
}

function checkEmail() {
// Check server for new messages
}

</script>
</head>
<body onload="onLoad()">
</body>
</html>

检查已回答的堆栈溢出问题以供引用:

Is there a way to detect if a browser window is not currently active

关于javascript - 在所有浏览器的 win 和 mac 上,当页面失去焦点并最小化时停止自动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21934193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com