Sự kiện onstalled kích hoạt khi trình duyệt không thể tải dữ liệu media (video/audio) do lỗi mạng, server không phản hồi, hoặc nguồn không khả dụng. Dùng cho <video> và <audio>.
Ví dụ
<!DOCTYPE HTML>
<html>
<body>
<video width="300" height="200" controls onstalled="display()">
<source src="/html5/foo.ogg" type="video/ogg" />
<source src="/html5/foo.mp4" type="video/mp4" />
Trình duyệt không hỗ trợ video.
</video>
<script>
function display() {
alert("Xin lỗi! Video không khả dụng lúc này!");
}
</script>
</body>
</html>
Các sự kiện lỗi media liên quan
| Sự kiện | Kích hoạt khi |
|---|---|
| onerror | Lỗi tải (network, decode, format không hỗ trợ) — chính |
| onstalled | Tải bị treo (không nhận data trong thời gian) |
| onsuspend | Tải bị tạm dừng chủ động (preload=none, user pause) |
| onabort | Người dùng hủy tải |
| onemptied | Playlist rỗng / src thay đổi |
Xử lý lỗi bằng JS (khuyên dùng)
const video = document.querySelector('video');
video.addEventListener('error', () => {
console.error('Media error:', video.error.code, video.error.message);
// Hiển thị UI fallback, thử source khác, báo lỗi server...
});
video.addEventListener('stalled', () => {
// Có thể thử reload: video.load();
});
Lưu ý
onstalledhiếm gặp hơnonerror.- Luôn cung cấp nhiều
<source>định dạng khác nhau.