如何判断用户是否真正在查看网页?

Dis*_*oat 4 javascript events

是否可以确定用户是否在当前网页上处于活动状态,或者是否专注于不同的选项卡或窗口?

似乎如果您切换选项卡,任何设置超时/间隔的 JavaScript 都会继续运行。当用户不在页面上时能够“暂停”事件会很好。

像将鼠标悬停事件附加到主体上这样的事情会起作用吗?或者这会太占用资源吗?

use*_*716 5

您可以在 上放置onfocus/事件。onblurwindow

窗口上的这些事件得到了广泛的支持。

例子:

window.onfocus = function() {
    document.body.innerHTML += "<br>I've gained focus.";
};

window.onblur = function() {
    document.body.innerHTML += "<br>I've lost focus.";
};
Run Code Online (Sandbox Code Playgroud)
span {color:blue}
Run Code Online (Sandbox Code Playgroud)
<span>CLICK IN AND OUT OF THIS FRAME.
    <br><br>(It has its own "window" object).</span>
<br><br>
Run Code Online (Sandbox Code Playgroud)