У меня есть элемент, который содержит видеопроигрыватель: этот видеопроигрыватель может быть на основе Flash или HTML5. Я хочу иметь возможность сделать этот элемент полноэкранным (я знаю, в данный момент он работает только в webkit) и запускать некоторые сценарии изменения размера, когда это происходит.
Вот как я это делаю:
this.getEl('.fullscreen').bind('click', $.proxy(function() {
this.getEl('#tpPlayer')[0].webkitRequestFullScreen();
}, this));
И слушатель события:
this.getEl('#tpPlayer').bind('webkitfullscreenchange', function() {
console.log('fullscreen change');
$(this).toggleClass('tpPlayer tpPlayerFullScreen');
});
Когда #tpPlayer
содержит элемент <video>
, все работает нормально: элемент переходит в полноэкранный режим, событие запускается, сообщение регистрируется и классы переключаются. Однако, когда #tpPlayer
содержит Flash <object>
, элемент работает в полноэкранном режиме, но событие не запускается (поэтому обратный вызов также не запускается).
Почему это происходит и как этого избежать?