Javascript Js检查选项卡是否在后台打开
我需要显示弹出窗口,如果这个脚本标签是在后台一分钟(延迟)。此代码可以工作,但存在一个问题。若我在“背景”选项卡中打开页面,这将不起作用。我在控制台中看到“1”写了两次,“2”在我第一次进入后台选项卡后写了一次。我想我需要检查一下document.hasFocus()函数,这样我的想法就行了。怎么做Javascript Js检查选项卡是否在后台打开,javascript,jquery,Javascript,Jquery,我需要显示弹出窗口,如果这个脚本标签是在后台一分钟(延迟)。此代码可以工作,但存在一个问题。若我在“背景”选项卡中打开页面,这将不起作用。我在控制台中看到“1”写了两次,“2”在我第一次进入后台选项卡后写了一次。我想我需要检查一下document.hasFocus()函数,这样我的想法就行了。怎么做 var showPopupTimeout; $(window).blur(function () { if (!checkCompleted) { console.log(
var showPopupTimeout;
$(window).blur(function () {
if (!checkCompleted) {
console.log("2");
showPopupTimeout = setTimeout(checkClientCalled, delay);
}
});
$(window).focus(function () {
if (!checkCompleted) {
console.log("1");
clearTimeout(showPopupTimeout);
}
});
使用页面可见性API 听“onvisibilitychange”。如果页面“隐藏”,则记录时间
如果页面“可见”,则检查页面隐藏的时间。从现在开始减去它,如果差值超过60000ms,则显示对话框。弹出调用在函数中-checkClientCalled()
setTimeout
在标签位于后台时变得不准确。那么我该如何解决我的问题呢?以某种方式重写代码。你说的弹出窗口是什么意思?页面内的新窗口或虚拟弹出窗口?页面内的虚拟弹出横幅。