Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
motion-sensors-polyfill
Advanced tools
A polyfill for the motion sensors based on the W3C Generic Sensor API
Beware, we're still under active development. Expect rough edges.
This is a polyfill for Generic Sensor-based motions sensors to make migration from the old DeviceOrientationEvent/DeviceMotionEvent to the new APIs a smoother experience.
In particular, this polyfill will allow the users of modern browsers to get a feel of the new API shape before it ships (Chrome 63 has a native implementation).
src/motion-sensors.js
implements the following interfaces:
Sensor
Accelerometer
LinearAccelerationSensor
GravitySensor
Gyroscope
RelativeOrientationSensor
AbsoluteOrientationSensor
src/motion-sensors.js
(source) into your project, or install via npm ($ npm i motion-sensors-polyfill
).<script type="module">
browser support or use a polyfill to load this polyfill!):<script type="module">
// Import the objects you need.
import {
Gyroscope,
AbsoluteOrientationSensor
} from './src/motion-sensors.js';
// And they're ready for use!
let gyroscope = new Gyroscope({ frequency: 15 });
let orientation = new AbsoluteOrientationSensor({ frequency: 60 });
</script>
There are two ways: Origin Trial and Enable via chrome://flags
.
Generic Sensor APIs are currently available as an Origin Trial in Chrome 63+.
To enable native Generic Sensor API implementation for all Chrome users on your site:
...
with your token):<!-- Origin Trial Token, feature = Generic Sensors, origin = https://example.org, expires ="2018-01-18" -->
<meta http-equiv="origin-trial" data-feature="Generic Sensors" data-expires="2018-01-18" content="...">
motion-sensors.js
polyfill to cater for non-Chrome users (see How to use the polyfill).chrome://flags
The native implementation is behind the following feature flags in Chrome 63+:
Generic Sensor (chrome://flags/#enable-generic-sensor
):
Accelerometer
Gyroscope
LinearAccelerationSensor
AbsoluteOrientationSensor
RelativeOrientationSensor
Generic Sensor Extra Classes (chrome://flags/#enable-generic-sensor-extra-classes
):
AmbientLightSensor
Magnetometer
Run web-platform-tests with this polyfill enabled here.
GravitySensor
and LinearAccelerationSensor
polyfills do not work on Android with Pixel 2, since DeviceMotionEvent
.acceleration
returns only null values, see Chromium bug 796518.AbsoluteOrientationSensor
on iOS uses non-standard webkitCompassHeading
that reports wrong readings if the device is held in its portrait-secondary
orientation. Specifically, the webkitCompassHeading
flips by 180 degrees when tilted only slightly.FAQs
A polyfill for the motion sensors based on the W3C Generic Sensor API
The npm package motion-sensors-polyfill receives a total of 64 weekly downloads. As such, motion-sensors-polyfill popularity was classified as not popular.
We found that motion-sensors-polyfill demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.