visibilityChangeListener

Waits until the tab is focused, executing a callback function when it happens.

目前为 2023-11-20 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/480373/1283459/visibilityChangeListener.js

  1. // ==UserScript==
  2. // @name visibilityChangeListener
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Waits until the tab is focused, executing a callback function when it happens.
  6. // @author IgnaV
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. const visibilityChangeListener = (onFocus, onBlur, minTime = 0) => {
  11. let lastExecutionFocusTime = 0;
  12. let lastExecutionBlurTime = 0;
  13.  
  14. document.addEventListener('visibilitychange', function () {
  15. const currentTime = Date.now();
  16.  
  17. if (document.visibilityState === 'visible') {
  18. if (currentTime - lastExecutionFocusTime >= minTime) {
  19. onFocus?.();
  20. lastExecutionFocusTime = currentTime;
  21. }
  22. } else if (currentTime - lastExecutionBlurTime >= minTime) {
  23. onBlur?.();
  24. lastExecutionBlurTime = currentTime;
  25. }
  26. });
  27. };

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址