Javascript Safari视频元素没有';在403响应上触发错误事件

Javascript Safari视频元素没有';在403响应上触发错误事件,javascript,safari,html5-video,dom-events,http-status-code-403,Javascript,Safari,Html5 Video,Dom Events,Http Status Code 403,我正在尝试从S3加载一个视频,该视频可能正在转码,也可能不在转码。当它还在处理的时候,我得到了403的回复。我测试的每个其他浏览器(Chrome/Firefox/IE)都会触发“错误”事件,这样我就可以向用户显示如下消息: var video=document.createElement('video'); video.onerror=函数(e){ //向用户显示一条消息。。。 }; video.src=videoURL; 但是Safari(在OSX上)只是登录到控制台而没有触发事件 加载资源

我正在尝试从S3加载一个视频,该视频可能正在转码,也可能不在转码。当它还在处理的时候,我得到了403的回复。我测试的每个其他浏览器(Chrome/Firefox/IE)都会触发“错误”事件,这样我就可以向用户显示如下消息:

var video=document.createElement('video');
video.onerror=函数(e){
//向用户显示一条消息。。。
};
video.src=videoURL;
但是Safari(在OSX上)只是登录到控制台而没有触发事件

加载资源失败:服务器响应状态为403(禁止)

如果我将video.src设置为一个垃圾URL,该URL不会导致任何结果,但不会导致403


我是否可以监听其他事件或以其他方式警告用户?我知道我可能会对视频发出单独的ajax请求并检查响应,但我希望避免开销。

这是Webkit中的一个bug

在尝试加载视频之前,我们首先发出HEAD请求以检查文件的状态来处理此问题。添加往返,但通常非常快:

$.ajax({
  type: "HEAD",
  url: video_filename,
  success: loadVideo,
  error: handleError
});