我有一个包含视频播放器的元素:该视频播放器可以是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>
时,该元素会全屏显示,但不会触发任何事件(因此回调也不会运行)。
为什么会发生这种情况以及如何避免这种情况?