В настоящее время я воспроизводю встроенное видео YouTube в WebViewer (обновленный веб-браузер Microsoft) в приложении WPF. Я хочу убрать все возможные пользовательские интерфейсы и просто управлять видео через созданный мной пользовательский интерфейс.
Что я сделал:
Я создал таймер, который запускает пару команд javascript после начала загрузки страницы (я также пробовал после загрузки событие).
- 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 секунду и просто показать экран загрузки, чтобы дать моему коду достаточно времени для удаления пользовательского интерфейса.