Intereting Posts
создать импортера с импортером api Наличие логических проблем с помощью специального инструмента (чтение документа Word + URL посещения) Не удается сохранить виджет нужна консультация о том, как делать списки, используя пользовательские типы сообщений – таксономия и постмета Подключение поставщиков WordPress к сервисам Microsoft Azure Показать только один результат из "get_the_category_list" Скрыть постоянную ссылку и кнопку предварительного просмотра и ссылку на пользовательский пост Изменить ссылку «Назад на сайт» в wp-login.php Показать уведомление о приятеле в интерфейсе WordPress add_rewrite_tag работает для сообщений, но не работает для страниц настраиваемый URL-адрес страницы архива по умолчанию для указания на постоянную ссылку на страницу Open Media Uploader Link в одном сообщении или на странице Плагины для клонирования сайта wordpress и перехода к другому URL-адресу Таксономия Пользовательская колонка – фильтр «manage_ {TAXONOMY} _custom_column» пропускает только 2 аргумента Как выбрать те теги для печати, а не распечатывать весь список тегов?

Воспроизвести видео только на главной странице

У меня есть видео на моей домашней странице, и я добавил JavaScript ниже, чтобы убедиться, что он играет / петли и т. Д. Что все работает нормально.

Однако на других страницах сайта javascript эффективно ломается и влияет на функциональность сайта. Когда я смотрю в консоли, я получаю сообщение о том, что «не может готово свойство« играть »в null.

Код выбирает только элемент видео на .page-id-36, но почему же JS ищет элемент на других страницах?

код:

var imagineVideo = document.querySelector('.page-id-36 .et_pb_video_box video'); imagineVideo.play(); imagineVideo.loop = true; imagineVideo.controls = false; 

Любая помощь / советы были бы замечательными.

Эмили

Solutions Collecting From Web of "Воспроизвести видео только на главной странице"

querySelector() возвращает null если совпадений не найдено, поэтому оберните код, который зависит от imagineVideo в условном выражении.

 var imagineVideo = document.querySelector('.page-id-36 .et_pb_video_box video'); if ( imagineVideo ) { imagineVideo.play(); imagineVideo.loop = true; imagineVideo.controls = false; } 

Если вы хотите, чтобы этот код загружался на главной странице, вы можете поместить его в отдельный файл и только поставить его в очередь, если просматривается домашняя страница. Например, вы разместили код выше в {your-theme}/js/homepage-video.js . Затем вы ставите в очередь как основной сценарий видеопроигрывателя, так и homepage-video.js :

 add_action( 'wp_enqueue_scripts', 'wpse_homepage_video_script' ); function wpse_homepage_video_script() { if ( is_front_page() ) { // Enqueue the main video player. wp_enqueue_script( 'video-player', get_stylesheet_directory_uri() . '/js/video-player.js', array(), null, true ); // Enqueue the JS that controls the video on the homepage. wp_enqueue_script( 'wpse-homepage-video', get_stylesheet_directory_uri() . '/js/homepage-video.js', array( 'video-player' ), null, true ); } }