检测<embed />标记无法加载视频

时间:2012-02-28 22:09:04

标签: javascript jquery ios video-streaming embed

我正在尝试使用以下嵌入标记(在iPad / iOS上)捕获错误:

<embed width="320" height="240" 
  src="path/to/my/live/stream/playlist.m3u8"
  type="application/vnd.apple.mpegurl" postdomevents="true" id="movie1" />

我试图用以下内容抓住它:

$("#movie1").on('onerror', function() { alert('error!') } );

我还尝试使用onabortonstalledonendedonsuspend - 当视频无法加载时,所有这些都无法生成事件。

1 个答案:

答案 0 :(得分:3)

您需要发出单独的HTTP请求来检查文件路径的有效性。

var http = new XMLHttpRequest();
http.open('HEAD', 'http://path/to/your/video', false);
http.send();

if (http.status == 404) {
    throw new Error('Unable to load file')
} else {
    // Generate your <embed> tag here
}