Я, похоже, не могу связать с событием $ .jPlayer.event.error, но я могу связать с другим событием.
Я использую представление Backbone для управления jPlayer, и вот функция инициализации:
initialize: function() {
_.bindAll(this, 'render', 'get_media_url', 'on_player_error',
'play', 'scrub', 'move_playhead', 'on_media_progress',
'on_player_ready', 'on_player_timeupdate', 'on_player_ended',
'set_progress_bar', 'set_current_time', 'time_from_percent');
// set up jplayer and bind essential events to view methods, bound to the current object
$(this.player).jPlayer(this.player_defaults);
$(this.player).bind($.jPlayer.event.ready, _.bind(this.on_player_ready, this));
$(this.player).bind($.jPlayer.event.timeupdate, _.bind(this.on_player_timeupdate, this));
$(this.player).bind($.jPlayer.event.ended, _.bind(this.on_player_ended, this));
$(this.player).bind($.jPlayer.event.progress, _.bind(this.on_media_progress, this));
$(this.player).bind($.jPlayer.event.error, _.bind(this.on_player_error, this));
this.current_state = this.PAUSED;
},
on_media_progress: function(event){
$('time#total').html($.jPlayer.convertTime(event.jPlayer.status.duration));
},
on_player_error: function(event){
alert(event);
},
(отрежьте остальные методы из-за краткости, но вы увидите, что методы определены одинаково; on_media_progress
срабатывает без сбоев. on_player_error
однако, NADA!)
on_player_ready
, on_player_timeupdate
, on_player_ended
и on_media_progress
все стреляют правильно.
on_player_error
, однако, никогда не вызывается.
У меня есть только MP3, передаваемый в setMedi
a, у меня не установлен Flash, и я загружаю страницу в Firefox 9.0.1, но
Если я установлю errorsAlert: true
в объекте this.player_defaults
, jPlayer представит свой собственный диалог ошибок, но мой обработчик ошибок по-прежнему никогда не запускается.
Как капитан пиратов с колесом в штанах, ЭТО ВОДИТ МЕНЯ ОРЕХОВ!