Socket
Socket
Sign inDemoInstall

request-frame-modern

Package Overview
Dependencies
0
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    request-frame-modern

Optimal requestAnimationFrame & cancelAnimationFrame polyfill for modern development


Version published
Weekly downloads
2
increased by100%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

requestFrameModern

Optimal requestAnimationFrame & cancelAnimationFrame polyfill for modern development.

A polyfill based on request-frame

  • Supports ES6, CJS & UMD
  • Provides a clean polyfill for requestAnimationFrame & cancelAnimationFrame.
  • Tested & working on: IE 9+, FF 25+, Opera 36+, Safari 6.1+, Chrome 30+, iOS 7+, Android 4.4+, Android Chrome 30+.
  • Doesn't modify native functions unless specified.

If you need to support legacy browsers see requestFrame for full support from IE5.5+.

Install options

npm i request-frame-modern --save

yarn add request-frame-modern

import requestFrameModern from 'request-frame-modern';  // ES6
<script src="request-frame-modern.js"></script> // AMD, IIFE
const requestFrameModern = require('request-frame-modern');  // CJS

The API:

Assign the timing functions:

requestFrameModern( request | cancel | native ) request is default.

var request = requestFrameModern('request'); // window.requestAnimationFrame | setTimeout
var cancel = requestFrameModern('cancel'); // window.cancelAnimationFrame | cancelTimeout
Or re/ assign native functions:
requestFrameModern('native'); // re/ declares requestAnimationFrame & cancelAnimationFrame

Below is just an example of the requestAnimationFrame API, see links: MDN, MSDN & W3.

Loop something:
var requestId;

function something( useTimeStamp ){
    
    // Do something here
    
    requestId = requestFrameModern(something); 
}

requestId = requestFrameModern(something); // Assigns Id & calls "something"
Cancel something:
cancel(requestId);  // Cancels frame request 

The ideology

request-frame-modern aims to provide an optimal development consistency with the use of animation timing functions across the large number of browsers and devices. This lib is ideal for those who may want to avoid re-assigning native functions, or avoid interfering with other libs that do. requestFrameModern() is purposely not a constructor. The intention is for requestAnimationFrame to be used once or few times during execution since multiple task are expected to be more efficient via a single requestAnimationFrame loop compared to several instances.

Contribute

Just do it!

Test

npm run test To launch port 9999

  • ./test/
  • ./test/compatibility-assignation-amd.html
  • ./test/compatibility-assignation.html
  • ./test/compatibility-native-amd.html
  • ./test/compatibility-native.html

Browser based testing for RAF is imperative


MIT License

© 2016 Julien Etienne

Keywords

FAQs

Last updated on 04 Apr 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc