Greasy Fork is available in English.

visibilityChangeListener

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

Questo script non dovrebbe essere installato direttamente. È una libreria per altri script da includere con la chiave // @require https://update.greatest.deepsurf.us/scripts/480373/1283462/visibilityChangeListener.js

  1. // ==UserScript==
  2. // @name visibilityChangeListener
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2
  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 (onFocus && currentTime - lastExecutionFocusTime >= minTime) {
  19. onFocus();
  20. lastExecutionFocusTime = currentTime;
  21. }
  22. } else if (onBlur && currentTime - lastExecutionBlurTime >= minTime) {
  23. onBlur();
  24. lastExecutionBlurTime = currentTime;
  25. }
  26. });
  27. };