Есть ли лучший способ удалить из встроенного видео YouTube каждый элемент пользовательского интерфейса, чем то, что я делаю сейчас? - PullRequest
0 голосов
/ 28 мая 2020

В настоящее время я воспроизводю встроенное видео YouTube в WebViewer (обновленный веб-браузер Microsoft) в приложении WPF. Я хочу убрать все возможные пользовательские интерфейсы и просто управлять видео через созданный мной пользовательский интерфейс.

Что я сделал:

Я создал таймер, который запускает пару команд javascript после начала загрузки страницы (я также пробовал после загрузки событие).

  1. RemoveYouTubeUI =

document.getElementsByClassName('ytp-pause-overlay ytp-scroll-min')[0].style.display = 'none'; document.getElementsByClassName('annotation annotation-type-custom iv-branding')[0].style.display = 'none'; document.getElementsByClassName('ytp-chrome-bottom')[0].style.display = 'none'; document.getElementsByClassName('ytp-gradient-bottom')[0].style.display = 'none'; document.getElementsByClassName('ytp-chrome-top')[0].style.display = 'none'; document.getElementsByClassName('ytp-pause-overlay ytp-scroll-min')[0].remove();

RemoveYouTubePausedUI (Это немного сложно, поскольку он обновляется каждый раз, когда я приостанавливаю видео, поэтому мне приходилось выполнять это javascript каждый раз, когда видео приостанавливается)

document.getElementsByClassName('ytp-pause-overlay ytp-scroll-min')[0].style.display = 'none'; document.getElementsByClassName('ytp-chrome-top ytp-show-cards-title')[0].style.display = 'none'; document.getElementsByClassName('ytp-gradient-top')[0].style.display = 'none'; document.getElementsByClassName('ytp-watermark yt-uix-sessionlink')[0].style.display = 'none';

RemoveYouTubePlayUponPageLoad

document.getElementsByClassName('ytp-large-play-button ytp-button')[0].style.display = 'none';

Что произошло после выполнения описанного выше подхода:

Работает, весь встроенный YouTube был без каких-либо элементов пользовательского интерфейса BUT есть доля секунды, когда все они появляются перед исчезновением, и это довольно отвлекает, плюс есть проблема с приостановленным пользовательским интерфейсом, который все еще отображается после его удаления, поэтому мне нужно ## Заголовок ##

То, что я хотел:

Есть ли надежный способ удалить любой связанный с пользовательским интерфейсом элемент из видео YouTube без этой доли секунды задержки? Я уже выполняю свой код удаления ui каждую миллисекунду в течение 3 секунд в другом потоке. Я также думаю о том, чтобы вместо этого скрыть браузер на 1 секунду и просто показать экран загрузки, чтобы дать моему коду достаточно времени для удаления пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...