Keep Screen Awake

Keep screen awake toggle via Tampermonkey menu

当前为 2024-10-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Keep Screen Awake
  3. // @namespace YMHOMER
  4. // @version 1.0
  5. // @description Keep screen awake toggle via Tampermonkey menu
  6. // @match *://*/*
  7. // @grant GM_registerMenuCommand
  8. // @run-at document-idle
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. let keepAwake = false;
  16. let wakeLock = null;
  17.  
  18. async function toggleKeepAwake() {
  19. if (!keepAwake) {
  20. try {
  21. wakeLock = await navigator.wakeLock.request('screen');
  22. keepAwake = true;
  23. alert('Keep Screen Awake - ON');
  24. } catch (err) {
  25. console.error('Keep Screen Awake - failed:', err);
  26. alert('Keep Screen Awake - failed');
  27. }
  28. } else {
  29. if (wakeLock) {
  30. wakeLock.release().then(() => {
  31. wakeLock = null;
  32. keepAwake = false;
  33. alert('Keep Screen Awake - Off');
  34. });
  35. }
  36. }
  37. }
  38.  
  39. if (typeof GM_registerMenuCommand === 'function') {
  40. GM_registerMenuCommand('Turn ON - Keep Screen Awake', toggleKeepAwake);
  41. } else {
  42. alert("GM_registerMenuCommand error");
  43. }
  44. })();