Ответ 1
В соответствии с этой страницей Bugzilla:
Firefox запускает событие timeupdate один раз за кадр. Safari 5 и Chrome 6 срабатывают каждые 250 мс. Opera 10.50 срабатывает каждые 200 мс.
Изучение материалов html5. Это довольно здорово! Интересно, как часто происходит событие timeupdate.
ПРИМЕЧАНИЕ: Существует так много интересных возможностей с js video api. Например, можно было бы использовать ctrl + F для поиска по видео. Запустите распознавание голоса как часть обработки видео, затем создайте хранилище с длинными ключами с отметками времени как клавиши и слова как значения и напишите функцию, которая ищет экземпляры этих слов, но возвращает метки времени и ищет ваше видео. В любом случае, только одна сумасшедшая идея youtube должна прыгать.
Любая помощь с timeupdate была бы потрясающей!
В соответствии с этой страницей Bugzilla:
Firefox запускает событие timeupdate один раз за кадр. Safari 5 и Chrome 6 срабатывают каждые 250 мс. Opera 10.50 срабатывает каждые 200 мс.
Я использовал общую дроссельную функцию
_self.throttle = function (fn, threshhold, scope) {
threshhold || (threshhold = 250);
var last,
deferTimer;
return function () {
var context = scope || this;
var now = +new Date,
args = arguments;
if (last && now < last + threshhold) {
// hold on to it
clearTimeout(deferTimer);
deferTimer = setTimeout(function () {
last = now;
fn.apply(context, args);
}, threshhold);
} else {
last = now;
fn.apply(context, args);
}
};
};
и подключил его с помощью
myPlayer.on('timeupdate', window.vm.throttle(function () {
window.vm.setWatched(myPlayer.currentTime());
}, 3000));
надеюсь, что это поможет кому-то.
code cribbed from http://remysharp.com/2010/07/21/throttling-function-calls/