npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

test-inline-video

v1.0.0

Published

Test if inline video mode is available

Readme

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.
  • 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

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 dependencies
  • npm run start - Start the dev server with livereload on the example folder
  • npm run build - Bundle your library in CJS / UMD / ESM
  • npm run deploy - Deploy your example folder on a gh-page branch
  • npm run test - Lint your js inside the src folder

License

MIT.