Моя цель -: < /p>
Показать миниатюр (плакат) изначально < /p>
Избегайте загрузки /буферизации на странице на странице < /p>
Загрузка и воспроизводствует видео только, когда пользователь не забивает его < /p>
way way wyloe over over ho over < /p>
. ODOO
Когда я тестирует приведенный ниже код в простом автономном HTML-файле, все работает отлично.
Плакат загружается, и видео загружается /играет на Hover: < /p>
html < /p>
< /code>
, когда я генерирую тот же видео-блок от Python в odoo, как это: < /p>
python < /p>
def build_video_tag(url, label, width="180px", height="180px", extra_class=""):
if url:
poster_url = url.replace(".mp4", "/still.jpg")
return f"""
< /code>
и привязать события наклонения через Javascript, например: < /p>
js < /p>
function bindVideoEvents(video) {
if (video.dataset.bound) return;
video.dataset.bound = "1";
video.addEventListener('mouseenter', () => {
const container = video.closest('.video-container');
const allContainers = document.querySelectorAll('.video-container');
if (!video.src && video.dataset.src) {
video.src = video.dataset.src;
video.load();
}
video.play().catch(() => {});
video.style.transform = 'scale(1.8)';
video.style.zIndex = '1000';
video.style.position = 'relative';
allContainers.forEach(c => {
if (c !== container) {
c.classList.add('blur');
}
});
});
video.addEventListener('mouseleave', () => {
const container = video.closest('.video-container');
const allContainers = document.querySelectorAll('.video-container');
video.pause();
video.currentTime = 0;
video.style.transform = 'scale(1)';
video.style.zIndex = '';
video.style.position = '';
allContainers.forEach(c => {
c.classList.remove('blur');
});
});
}
// MutationObserver to bind events to dynamically loaded videos
const observer = new MutationObserver(() => {
document.querySelectorAll('video').forEach(bindVideoEvents);
});
< /code>
В Odoo я получаю пустую серую коробку - нет миниатюры и без воспроизведения.
Изображение плаката вообще не загружается. Это похоже на то, что видео -элемент отображается, но не инициализируется должным образом. < /P>
Почему ведет себя по -разному в Odoo, даже если один и тот же HTML работает на улице? Плакат или Data-src? /> js написан как модуль Odoo (Odoo.define (...))
URL плаката выглядит как:
https://storage.googleapis.com/simstar- ... ill.jpgbr/> Odoo
Подробнее здесь: https://stackoverflow.com/questions/797 ... bnail-init
Мобильная версия