我有一個video
元素,我用javascript
動態控制。它一直在努力工作。今天我注意到一些奇怪的事Chrome5中的HTML5/Javascript視頻事件行爲33.0.1750.154
我附加了以下事件偵聽器。
function registerListeners(listen) {
listen.addEventListener('canplaythrough', canStartPlayback);
listen.addEventListener('ended', onFinish);
listen.addEventListener('loadeddata', onLoadComplete);
listen.addEventListener('playing', onPlay);
listen.addEventListener('error', mediaError);
}
而對於canStartPlayback
onFinish
代碼和onPlay
如下。
function canStartPlayback() {
if (!playing) {
playing = true;
$('.module-content-video-loader').stopSpin();
$('.module-content-video-loader').hide();
media.play();
}
}
function onFinish() {
if (playing) {
playing = false;
media.pause();
media.currentTime = 0.0;
}
}
function onPlay() {
playing = true;
if (!pending) {
$('#skip').show();
}
}
現在,我目前發現onFinish
完成後,我立刻看到canStartPlayback
被再次發射。
這是canplaythrough
從Mozilla的
canplaythrough
說明當就緒狀態變化到CAN_PLAY_THROUGH,表明整個媒體就能無中斷地播放,假定的下載速率至少在目前的水平仍然發送。 注意:手動設置currentTime
最終會在firefox中觸發一個canplaythrough
事件。其他瀏覽器可能不會觸發此事件。
我在印象之下,並且已經看到canplaythrough
只發射一次。最近有沒有鉻改變這一點,並有其他人發現這種情況正在發生?