/** * Chrome-specific video fallback * Since Chrome has issues with VideoJS/HLS, this script provides a fallback * that replaces video players with play buttons that open videos in a new page. */ document.addEventListener('DOMContentLoaded', function() { // Only run this script for Chrome browsers const isChrome = /Chrome/.test(navigator.userAgent) && !/Edge/.test(navigator.userAgent) && !/OPR/.test(navigator.userAgent); if (!isChrome) { return; // Exit if not Chrome } // Videos to handle with IDs and their mp4 sources const videoMappings = { 'video-hero': '/static/videos/video1.mp4', 'video2': '/static/videos/video2.mp4', 'video3': '/static/videos/video3.mp4' }; // Process each video Object.keys(videoMappings).forEach(function(videoId) { const videoElement = document.getElementById(videoId); if (!videoElement) return; const videoContainer = videoElement.closest('.video-container'); if (!videoContainer) return; // Get poster image const posterUrl = videoElement.getAttribute('poster'); // Create play button overlay const playButtonOverlay = document.createElement('div'); playButtonOverlay.className = 'chrome-play-overlay'; playButtonOverlay.innerHTML = `
`; // Style the container for positioning videoContainer.style.position = 'relative'; // Create a poster image as background if (posterUrl) { const posterImage = document.createElement('div'); posterImage.className = 'chrome-poster-image'; posterImage.style.backgroundImage = `url(${posterUrl})`; videoContainer.appendChild(posterImage); } // Add click event to open the video in a new page/overlay playButtonOverlay.addEventListener('click', function() { // Create the lightbox overlay const lightbox = document.createElement('div'); lightbox.className = 'video-lightbox'; lightbox.innerHTML = `