Magnetometer
The Magnetometer API reads magnetic field sensor data from the device's magnetometer. It is most useful when native HTML semantics or browser capabilities can replace custom implementation work.
Overview
The Magnetometer API reads magnetic field sensor data from the device's magnetometer. It is most useful when native HTML semantics or browser capabilities can replace custom implementation work.
Browser support
| Feature | Desktop | Mobile | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
Magnetometer Experimental | 56 | 79 | | | 56 | |
Magnetometer Experimental The Magnetometer() constructor creates a new Magnetometer object which returns information about the magnetic field as detected by a device's primary magnetometer sensor. | 56 | 79 | | | 56 | |
x Experimental The x read-only property of the Magnetometer interface returns a number specifying the magnetic field around the device's x-axis. | 56 | 79 | | | 56 | |
y Experimental The y read-only property of the Magnetometer interface returns a number specifying the magnetic field around the device's y-axis. | 56 | 79 | | | 56 | |
z Experimental The z read-only property of the Magnetometer interface returns a number specifying the magnetic field around the device's z-axis. | 56 | 79 | | | 56 | |
permission_magnetometer Experimental `magnetometer` permission | 62 | 79 | | | 62 | |
| Other | ||||||
html.elements.iframe.allow.magnetometer Experimental | 66 | 79 | | | 66 | |
http.headers.Permissions-Policy.magnetometer Experimental The HTTP Permissions-Policy header magnetometer directive controls whether the current document is allowed to gather information about the orientation of the device through the Magnetometer interface. | 66 | 79 | | | 66 | |
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
- Requires an experimental browser flag to be enabled
Syntax
const mag = new Magnetometer({ frequency: 10 });
mag.addEventListener('reading', () => {
console.log('X:', mag.x, 'Y:', mag.y, 'Z:', mag.z);
});
mag.start(); Use cases
Use Magnetometer
Use Magnetometer when standard HTML needs a more specific platform feature, semantic signal, or browser capability.
Handle edge cases
Apply Magnetometer to solve a focused requirement without redesigning the whole page architecture.
Cautions
- Test Magnetometer in your target browsers and input environments before depending on it as a primary behavior.
- Provide a fallback path or acceptable degradation strategy when support is still limited.
Accessibility
- Make sure Magnetometer supports the intended task without making the page harder to perceive, understand, or operate.
Related links
Powered by web-features