Paul Irish имеет сообщение под названием requestAnimationFrame для смарт-анимации. Теперь Пол - умный парень, и я просто пытаюсь понять сферу применения этой идеи.
Он говорит, что нужно делать анимацию HTML5 - вы должны использовать прокладку requestAnimationFrame следующим образом:
// shim layer with setTimeout fallback
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function( callback ){
window.setTimeout(callback, 1000 / 60);
};
})();
// usage:
// instead of setInterval(render, 16) ....
(function animloop(){
requestAnimFrame(animloop);
render();
})();
// place the rAF *before* the render() to assure as close to
// 60fps with the setTimeout fallback.
Это понятно. Мы можем применить это в JSFiddle как это, и результаты неплохие.
Но если я вырву из функции слоя прокладки, то в Chrome 31 и Firefox 24 он отлично работает.
Итак, если я смотрю на совместимость для функции RequestAnimationFrame - похоже, что браузеры имели эту функцию в течение очень долгого времени.
Мой вопрос - Для каких браузеров мы используем Paul Irish requestAnimationFrame shim?. Вы можете копировать его, и он по-прежнему работает, и похоже, что браузеры имели это в течение длительного времени.