Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> HTML

Thực thi script khi trình duyệt không tải được media (onstalled) trong HTML?

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
onerrorLỗi tải (network, decode, format không hỗ trợ) — chính
onstalledTải bị treo (không nhận data trong thời gian)
onsuspendTải bị tạm dừng chủ động (preload=none, user pause)
onabortNgười dùng hủy tải
onemptiedPlaylist 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 ý

  • onstalled hiếm gặp hơn onerror.
  • Luôn cung cấp nhiều <source> định dạng khác nhau.