Вопрос или проблема
По умолчанию тема Divi принудительно останавливает отображение фоновых видео на мобильных устройствах. Есть ли способ обойти это ограничение, даже если не поддерживаются все устройства, было бы здорово показать mp4/webm на тех устройствах, которые их поддерживают.
Я нашел “грязное” решение в коде темы. Оно будет переопределено при обновлении темы, так что вам придется сделать это снова в то время.
themes/Divi/includes/builder/scripts/frontend-builder-scripts.js
Строки 1316 – 1330
if ( et_is_mobile_device ) {
$( '.et_pb_section_video_bg' ).each( function() {
var $this_el = $(this);
$this_el.closest( '.et_pb_preload' ).removeClass( 'et_pb_preload' );
$this_el.remove();
} );
$( 'body' ).addClass( 'et_mobile_device' );
if ( ! et_is_ipad ) {
$( 'body' ).addClass( 'et_mobile_device_not_ipad' );
}
}
Измените на:
if ( et_is_mobile_device ) {
//$( '.et_pb_section_video_bg' ).each( function() {
// var $this_el = $(this);
// $this_el.closest( '.et_pb_preload' ).removeClass( 'et_pb_preload' );
// $this_el.remove();
//} );
$( 'body' ).addClass( 'et_mobile_device' );
if ( ! et_is_ipad ) {
$( 'body' ).addClass( 'et_mobile_device_not_ipad' );
}
}
Обратите внимание, что вам также нужно снять отметку с параметра темы Divi “Минифицировать и комбинировать файлы Javascript”
.. или удалить соответствующий код из themes/Divi/js/custom.min.js, перепутанный на строке 98 (не рекомендуется, если вы не знаете, что делаете). Возможно, есть другой способ восстановить кэш, но я не уверен.
Ответ или решение
Как отобразить фоновое видео на мобильных устройствах в теме Divi
Фоновое видео в теме Divi по умолчанию отключается на мобильных устройствах. Это вызвано особенностями мобильных браузеров, которые могут не поддерживать автоматическое воспроизведение видео или могут иметь ограниченные ресурсы. Тем не менее, если вы хотите обойти это ограничение и отобразить фоновые видео на мобильных устройствах, можно воспользоваться определёнными методами.
Проблема
На данный момент Divi не предоставляет пользователям стандартного варианта для отображения фонового видео на мобильных устройствах. Более того, при обновлении темы есть риск потери внесённых вами изменений, что делает этот подход менее устойчивым.
Решение
Вот шаги для того, чтобы реализовать отображение фонового видео на мобильных устройствах:
-
Изменение темы кода:
Вам нужно отредактировать файлfrontend-builder-scripts.js
, который находится по путиthemes/Divi/includes/builder/scripts/
. Вам нужно найти следующие строки кода:if ( et_is_mobile_device ) { $( '.et_pb_section_video_bg' ).each( function() { var $this_el = $(this); $this_el.closest( '.et_pb_preload' ).removeClass( 'et_pb_preload' ); $this_el.remove(); } ); $( 'body' ).addClass( 'et_mobile_device' ); if ( ! et_is_ipad ) { $( 'body' ).addClass( 'et_mobile_device_not_ipad' ); } }
Замените этот блок на следующий код:
if ( et_is_mobile_device ) { //$( '.et_pb_section_video_bg' ).each( function() { // var $this_el = $(this); // $this_el.closest( '.et_pb_preload' ).removeClass( 'et_pb_preload' ); // $this_el.remove(); //} ); $( 'body' ).addClass( 'et_mobile_device' ); if ( ! et_is_ipad ) { $( 'body' ).addClass( 'et_mobile_device_not_ipad' ); } }
Это изменение позволит фоновому видео отображаться на мобильных устройствах, убирая ограничения, наложенные по умолчанию.
-
Отключение минификации и объединения Javascript-файлов:
Также необходимо отключить опцию "Минификация и объединение Javascript-файлов" в настройках темы Divi. Это предотвратит возможное кэширование старого кода и позволит изменениям немедленно вступить в силу. -
Очистка кэша:
Перед тем как проверять изменения, рекомендуется очистить кэш браузера и, если используете кэширование на уровне сервера или плагина, очистить и серверный кэш. -
Тестирование на устройствах:
После применения изменений проверьте, отображается ли фоновое видео на различных мобильных устройствах. Учтите, что поддержка может варьироваться в зависимости от браузера и устройства.
Важные замечания
- Будьте осторожны при редактировании файлов темы. Неправильные изменения могут вызвать ошибки в работе сайта.
- Помните, что при обновлении темы ваше изменение может быть перезаписано, поэтому рекомендуется сохранить резервную копию перед обновлением.
- Это временное решение, и стоит обратиться к разработчикам Divi с предложением о подобной функции в будущем.
Заключение
Хотя данный подход не является официальным решением, он позволяет обойти ограничения Divi по поводу фонового видео на мобильных устройствах. Следуйте приведённым шагам, чтобы успешно внедрить это решение, но будьте готовы к тому, что оно может потребовать обновления при новых версиях темы.