1.0.0 • Published 6 years ago
test-inline-video v1.0.0
Example
Example on pqml.github.io/test-inline-video/
Features & Requirements
- Small module: < 800b gziped
- :warning: Test-inline-video use Promises. Use a polyfill if you have to support IE / old browser versions
- The lib returns a
dataSave
property to check if browser Data Saving is enabled.- This is useful for Android: Chrome Data Saver turn off autoplay.
- You can also use this library to test low battery mode on iOS: inline videos don't play when it's enabled
- The lib can measure framerate with the
measureFps
option to see if there is also FPS throttling: on iOS this is also a sign of low battery mode enabled - The framereate measure makes the test a bit longer - do not use this option if you don't need it
- The lib can measure framerate with the
Module Installation & Usage
Installation from npm
# using npm
$ npm install --save test-inline-video
# or using yarn
$ yarn add test-inline-video
Usage with npm and a module bundler
import testInlineVideo from 'test-inline-video' // ES6 module import
const testInlineVideo = require('test-inline-video') // CommonJS module import
// Also test for framerate throttling
testInlineVideo({ testFramerate: true })
.then(function (result) {
// resut.autoplay return true of false if videos can autoplay
if (result.autoplay) {
log('Inline video mode is available!');
} else {
// Default error message : 'No support for inline video'
log(result.error.message);
// Test for FPS throttling on iOS
if (result.badFps && result.iOS) log('You are probably in low-battery mode');
// Test for Data Saver
if (result.saveData) log('Please, disable your browser Data Saver');
}
})
Installation & usage from a browser
<script src="//unpkg.com/test-inline-video"></script>
<script>
// Don't forget the Promise polyfill if you need one
windowtestInlineVideo()
.then(function (result) {
// resut.autoplay return true of false if videos can autoplay
if (result.autoplay) {
log('Inline video mode is available!');
} else {
log('No autoplay support');
}
})
</script>
Development commands
npm install
- Install all npm dependenciesnpm run start
- Start the dev server with livereload on the example foldernpm run build
- Bundle your library in CJS / UMD / ESMnpm run deploy
- Deploy your example folder on a gh-page branchnpm run test
- Lint your js inside the src folder
License
MIT.