async function loadChannels() { try { // Попробуем загрузить плейлист с сервера const response = await fetch('http://bet7days.ru/iptv/iptv.m3u'); // Проверяем успешность запроса if (!response.ok) { throw new Error(`HTTP ошибка: ${response.status}`); } // Получаем содержимое плейлиста const data = await response.text(); console.log('Плейлист загружен:', data); // Разделяем содержимое файла на строки const lines = data.split('\n'); // Получаем элемент списка каналов const channelsList = document.getElementById('channels'); channelsList.innerHTML = ''; // Очищаем список перед загрузкой новых данных // Перебираем строки для поиска информации о каналах lines.forEach((line, index) => { if (line.startsWith('#EXTINF')) { // Извлекаем имя канала const channelName = line.split(',')[1]; // Следующая строка после #EXTINF должна быть URL const channelURL = lines[index + 1]?.trim(); if (channelURL) { // Создаем элемент списка const li = document.createElement('li'); li.textContent = channelName; li.style.cursor = 'pointer'; li.onclick = () => playChannel(channelURL); // При клике на канал запускаем воспроизведение channelsList.appendChild(li); // Добавляем канал в список } } }); } catch (error) { // Логируем ошибку в консоль console.error('Ошибка:', error.message); // Выводим сообщение об ошибке на страницу const channelsList = document.getElementById('channels'); channelsList.innerHTML = `
  • Ошибка загрузки: ${error.message}
  • `; } } // Функция для воспроизведения канала function playChannel(url) { const player = document.getElementById('videoPlayer'); player.innerHTML = ``; }