JS властивість Event.stalled
Загальний опис
Подія stalled
спрацьовує, коли браузер намагається завантажити медіадані (відео або аудіо), але не може їх отримати протягом певного часу. Це зазвичай відбувається через проблеми з мережею або через недостатню швидкість завантаження даних. Вона є корисною для моніторингу стану буферизації медіаконтенту та виявлення проблем із відтворенням в реальному часі.
При відтворенні медіафайлу, браузер постійно завантажує фрагменти контенту для безперервного програвання. Якщо цей процес зупиняється або не вдається отримати наступну частину даних, виникає подія stalled
. Ця подія дозволяє розробникам реагувати на проблеми з завантаженням медіаданих, наприклад, показувати користувачу індикатор завантаження або попередження про погану якість інтернет-з’єднання.
Наприклад:
const video = document.querySelector('video');
video.addEventListener('stalled', function() {
console.log('Завантаження медіаданих призупинено.');
});
У цьому прикладі подія stalled
спрацьовує, коли завантаження відео припиняється, і в консоль виводиться повідомлення. Це може бути корисним у додатках, де важливо своєчасно повідомляти користувачів про можливі проблеми з відтворенням.
Подія stalled
часто використовується разом із іншими подіями медіавідтворення, як-от waiting
та error
, щоб забезпечити комплексний контроль за станом медіафайлу. Ви можете використовувати її для реалізації механізмів повторного завантаження даних, оновлення інтерфейсу користувача або інформування користувачів про неполадки в режимі реального часу.
Ще один приклад:
video.addEventListener('stalled', function() {
alert('Мережа сповільнилася. Перевірте своє підключення.');
});
У цьому випадку при виникненні події користувачу буде показане сповіщення, що може допомогти швидше діагностувати проблему.
Порада: | Подія |
Порада: | Крім того, можна зберігати статистику кількості подій |
Порада: | Пам'ятайте, що подія |
Синтаксис
element.addEventListener('stalled', function(event) {
// код обробки події
});
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
66 |
57 |
11.1 |
53 |
16 |
Переглядач | ||||
---|---|---|---|---|
66 |
66 |
57 |
11.3 |
Переглядач | ||
---|---|---|
15.0.0 |
1.0 |
Приклади
У цьому прикладі, коли спрацьовує подія stalled
, користувачу показується повідомлення про можливі проблеми із з'єднанням. Як тільки завантаження відновлюється (подія progress
), повідомлення оновлюється на "Завантаження триває", що допомагає зберігати користувача в курсі стану відтворення.
const video = document.querySelector('video');
const statusDisplay = document.querySelector('#status');
video.addEventListener('stalled', function() {
statusDisplay.textContent = 'Проблеми із завантаженням... Перевірте підключення.';
});
video.addEventListener('progress', function() {
statusDisplay.textContent = 'Завантаження триває.';
});
У цьому прикладі, якщо під час відтворення виникає проблема з мережею (подія stalled
), відео перезавантажується через 5 секунд. Це може бути корисним для автоматичного відновлення відео без необхідності втручання користувача.
const video = document.querySelector('video');
video.addEventListener('stalled', function() {
console.log('Виникли проблеми із завантаженням. Спроба перезавантаження...');
setTimeout(() => {
video.load(); // Перезавантажуємо відео після 5 секунд
video.play();
}, 5000);
});