Кнопка имеет следующие классы: ytp-playlist-menu-button и ytp-button, но не имеет идентификатора. Однако у него есть aria-owns ytp-id-22, который, как я полагаю, после поиска в Google действует как идентификатор - это верно?
Как я' Я не уверен, действует ли aria-owns как (и может ли использоваться как) идентификатор. Вместо этого я пытаюсь использовать document.getElementsByClassName, но знаю, что это не очень хорошая практика и не работает. в некоторых браузерах.
Я пытаюсь разобраться, просматривая примеры в Интернете, но не нашел четкого способа добиться этого. В настоящее время я использую приведенную ниже формулу сценария, но она не работает, и я не уверен, что это правильный подход.
document.addEventListener('DOMContentLoaded', () => {
document.querySelector('#player_2').contentWindow
document.getElementsByClassName('ytp-playlist-menu-button').trigger("click") ;
});
Здесь вы можете просмотреть настоящую страницу, на которую встроен плейлист YouTube.
Мои познания в написании javascript/jQuery крайне ограничены, но насколько я могу поймите это в приведенном выше коде:
- Первая строка гарантирует полную загрузку страницы.
- Вторая строка позволяет он работает «внутри» iframe (с идентификатором «player_2»)
- Третья строка — это действие, которое нажимает на кнопку (с идентификатором «ytp-playlist-menu-button» )
А. Выше приведен весь сценарий, и мне интересно, нужен ли ему дополнительный код для правильной работы?
B. Я добавил скрипт в заголовок с помощью этого кода:
function theme_enqueue_scripts() {
if (is_page ('3055') ) {
wp_enqueue_script ('youtubePlaylistButton_js', get_theme_file_uri() . '/wp-includes/js/youtubePlaylistButton_js.js', array(), false, false); }
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_scripts' );
Подробнее здесь: https://stackoverflow.com/questions/789 ... javascript