我正在尝试使用以下嵌入标记(在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!') } );
我还尝试使用onabort
,onstalled
,onended
和onsuspend
- 当视频无法加载时,所有这些都无法生成事件。
答案 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
}