Каковы различия между реализациями requestAnimationFrame с префиксом поставщика? - PullRequest
2 голосов
/ 02 сентября 2011

РЕДАКТИРОВАТЬ: Этот вопрос в настоящее время имеет только исторический интерес:

Похоже, что префиксы поставщиков и поведение, специфичное для поставщиков, были удалены. Не стесняйтесь задавать вопрос о том, как эмулировать старое поведение, специфичное для поставщика, если хотите. Chrome, Firefox, Internet Explorer и Opera могут иметь разные функции для requestAnimationFrame соответственно: webkitRequestAnimationFrame mozRequestAnimationFrame msRequestAnimationFrame oRequestAnimationFrame Спецификация довольно ясно показывает, каким поведением они должны обладать, но есть ли у кого-нибудь авторитетный ответ о том, как они отличаются? РЕДАКТИРОВАТЬ: в настоящее время я принимаю мой собственный ответ. Меня по-прежнему интересуют детали реализации IE 10 и, если Opera его реализует, Opera; Я уточню вопрос, если будут какие-либо существенные различия.

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Возможно, лучшая страница для полного объяснения это .

1 голос
/ 02 сентября 2011

Лучший ресурс, который я нашел, это

https://developer.mozilla.org/en/DOM/window.requestAnimationFrame

, который касается только вариантов webkit и moz.

moz: вы можетевызов requestAnimationFrame без аргументов;это приведет к запуску событий MozBeforePaint, когда браузер будет готов нарисовать кадр анимации.

window.mozRequestAnimationFrame();
window.addEventListener("MozBeforePaint", function(event){
  //event.timeStamp has the next repaint time
  /* animation code here*/
}, false); 

webkit: вы можете вызвать requestAnimationFrame со вторым аргументом, который должен быть DOMанимируемый элемент;это приведет к тому, что ваша анимационная функция будет вызываться только тогда, когда этот элемент DOM виден.

(для Chrome) Пример: Вы можете сказать, что она работает, открыв консоль и наблюдая за этим журналом.Сообщения, генерируемые функцией анимации, генерируются только тогда, когда холст видим.

Это оставляет варианты Opera и IE без адреса.

...