2015-09-01 3 views
0

Я хочу создать резерв изображения в случае, если видео нельзя загрузить. Я выяснил, что для решения этой проблемы необходимо использовать media events. Однако, похоже, они работают не так, как ожидалось.События в формате HTML5 не работают должным образом

/** 
* Dynamically load the video within the given slide. 
*/ 
var loadVideo = function(slide) { 
    var video = $('<video muted>'), 
     source = $('<source>', { 
      src: slide.attr('data-video'), 
      type: 'video/mp4' 
     }); 

    video.html(source); 

    video[0].addEventListener('canplay', revealVideo(video), false); 
    video[0].addEventListener('error', function() { 
     alert('Video could not be loaded.'); 
     // fallback 
    }, false); 
    video[0].onended = function() { replayVideo(video) }; 

    slide.append(video); 
}; 

Это не имеет значения, будет ли успешно загружено видео или нет, revealVideo() всегда дозвонилась. EventListener error никогда не запускается (например, при использовании src, который не существует).

ответ

0

Я нашел решение. Похоже, что элемент <source> принимает ошибки, а не сам элемент видео.