Theater player default in youtube

set youtube player theater mode when open video

当前为 2024-03-13 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Theater player default in youtube
  3. // @namespace https://greasyfork.org/users/821661
  4. // @match https://www.youtube.com/*
  5. // @grant none
  6. // @version 1.1
  7. // @author hdyzen
  8. // @description set youtube player theater mode when open video
  9. // @license MIT
  10. // ==/UserScript==
  11. 'use strict';
  12.  
  13. // Keyboard Event T
  14. const ev = new KeyboardEvent('keydown', {
  15. key: 't',
  16. code: 'KeyT',
  17. keyCode: 84,
  18. which: 84,
  19. altKey: false,
  20. ctrlKey: false,
  21. shiftKey: false,
  22. metaKey: false,
  23. });
  24.  
  25. // Observer
  26. const observer = new MutationObserver(mutations => {
  27. if (!/https:\/\/www\.youtube\.com\/watch\?.*/.test(location.href)) return;
  28. const playerContainer = document.querySelector('ytd-watch-flexy:has(.html5-video-container > video)');
  29. switch (playerContainer?.hasAttribute('theater')) {
  30. case true:
  31. observer.disconnect();
  32. break;
  33. case false:
  34. observer.disconnect();
  35. document.dispatchEvent(ev);
  36. break;
  37. default:
  38. break;
  39. }
  40. });
  41.  
  42. // Start observer
  43. observer.observe(document.body, {
  44. childList: true,
  45. subtree: true,
  46. });