Greasy Fork is available in English.
Waits until the tab is focused, executing a callback function when it happens.
此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.org/scripts/480373/1283462/visibilityChangeListener.js
// ==UserScript== // @name visibilityChangeListener // @namespace http://tampermonkey.net/ // @version 0.2 // @description Waits until the tab is focused, executing a callback function when it happens. // @author IgnaV // @grant none // ==/UserScript== const visibilityChangeListener = (onFocus, onBlur, minTime = 0) => { let lastExecutionFocusTime = 0; let lastExecutionBlurTime = 0; document.addEventListener('visibilitychange', function () { const currentTime = Date.now(); if (document.visibilityState === 'visible') { if (onFocus && currentTime - lastExecutionFocusTime >= minTime) { onFocus(); lastExecutionFocusTime = currentTime; } } else if (onBlur && currentTime - lastExecutionBlurTime >= minTime) { onBlur(); lastExecutionBlurTime = currentTime; } }); };