DeviceMotionEvent

  • Revision slug: Web/API/DeviceMotionEvent
  • Revision title: DeviceMotionEvent
  • Revision id: 470807
  • Created:
  • Creator: tregagnon
  • Is current revision? Yes
  • Comment

Revision Content

{{DomRef}}{{SeeCompatTable}}

Summary

The DeviceMotionEvent provides web developers with information about the speed of changes for the device's position and orientation.

Warning: Currently, Firefox and Chrome does not handle the coordinates the same way. Take care about this while using them.

Properties

{{domxref("DeviceMotionEvent.acceleration")}} {{readonlyinline}}
An object giving the acceleration of the device on the three axis X, Y and Z. Acceleration is expressed in m/s2.
{{domxref("DeviceMotionEvent.accelerationIncludingGravity")}} {{readonlyinline}}
An object giving the acceleration of the device on the three axis X, Y and Z with the effect of gravity. Acceleration is expressed in m/s2.
{{domxref("DeviceMotionEvent.rotationRate")}} {{readonlyinline}}
An object giving the rate of change of the device's orientation on the three orientation axis alpha, beta and gamma. Rotation rate is express in degrees per seconds.
{{domxref("DeviceMotionEvent.interval")}} {{readonlyinline}}
A number representing the interval of time, in milliseconds, at which data are obtain from the device.

Example

window.addEventListener('devicemotion', function(event) {
  console.log(event.acceleration.x + ' m/s2');
});

Specifications

Specification Status Comment
{{SpecName('Device Orientation')}} {{Spec2('Device Orientation')}} Initial specification.

Browser compatibility

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support {{ CompatVersionUnknown() }} {{CompatGeckoDesktop("6")}} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support {{ CompatVersionUnknown() }} {{CompatGeckoMobile("6")}} {{ CompatNo() }} {{ CompatNo() }} 4.2

See also

Revision Source

<p>{{DomRef}}{{SeeCompatTable}}</p>
<h2 id="Summary">Summary</h2>
<p>The <code>DeviceMotionEvent</code> provides web developers with information about the speed of changes for the device's position and orientation.</p>
<div class="warning">
  <p><strong>Warning:</strong> Currently, Firefox and Chrome does not handle the coordinates the same way. Take care about this while using them.</p>
</div>
<h2 id="Properties">Properties</h2>
<dl>
  <dt>
    {{domxref("DeviceMotionEvent.acceleration")}} {{readonlyinline}}</dt>
  <dd>
    An object giving the acceleration of the device on the three axis X, Y and Z. Acceleration is expressed in <a href="https://en.wikipedia.org/wiki/Meter_per_second_squared" title="https://en.wikipedia.org/wiki/Meter_per_second_squared">m/s<sup>2</sup></a>.</dd>
  <dt>
    {{domxref("DeviceMotionEvent.accelerationIncludingGravity")}} {{readonlyinline}}</dt>
  <dd>
    An object giving the acceleration of the device on the three axis X, Y and Z with the effect of gravity. Acceleration is expressed in <a href="https://en.wikipedia.org/wiki/Meter_per_second_squared" title="https://en.wikipedia.org/wiki/Meter_per_second_squared">m/s<sup>2</sup></a>.</dd>
  <dt>
    {{domxref("DeviceMotionEvent.rotationRate")}} {{readonlyinline}}</dt>
  <dd>
    An object giving the rate of change of the device's orientation on the three orientation axis alpha, beta and gamma. Rotation rate is express in degrees per seconds.</dd>
  <dt>
    {{domxref("DeviceMotionEvent.interval")}} {{readonlyinline}}</dt>
  <dd>
    A number representing the interval of time, in milliseconds, at which data are obtain from the device.</dd>
</dl>
<h2 id="Example">Example</h2>
<pre class="brush: js">
window.addEventListener('devicemotion', function(event) {
&nbsp; console.log(event.acceleration.x + ' m/s2');
});</pre>
<h2 id="Specifications">Specifications</h2>
<table class="standard-table">
  <thead>
    <tr>
      <th scope="col">Specification</th>
      <th scope="col">Status</th>
      <th scope="col">Comment</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>{{SpecName('Device Orientation')}}</td>
      <td>{{Spec2('Device Orientation')}}</td>
      <td>Initial specification.</td>
    </tr>
  </tbody>
</table>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Feature</th>
        <th>Chrome</th>
        <th>Firefox (Gecko)</th>
        <th>Internet Explorer</th>
        <th>Opera</th>
        <th>Safari (WebKit)</th>
      </tr>
      <tr>
        <td>Basic support</td>
        <td>{{ CompatVersionUnknown() }}</td>
        <td>{{CompatGeckoDesktop("6")}}</td>
        <td>{{ CompatUnknown() }}</td>
        <td>{{ CompatUnknown() }}</td>
        <td>{{ CompatUnknown() }}</td>
      </tr>
    </tbody>
  </table>
</div>
<div id="compat-mobile">
  <table class="compat-table">
    <tbody>
      <tr>
        <th>Feature</th>
        <th>Android</th>
        <th>Firefox Mobile (Gecko)</th>
        <th>IE Phone</th>
        <th>Opera Mobile</th>
        <th>Safari Mobile</th>
      </tr>
      <tr>
        <td>Basic support</td>
        <td>{{ CompatVersionUnknown() }}</td>
        <td>{{CompatGeckoMobile("6")}}</td>
        <td>{{ CompatNo() }}</td>
        <td>{{ CompatNo() }}</td>
        <td>4.2</td>
      </tr>
    </tbody>
  </table>
</div>
<h2 id="See_also">See also</h2>
<ul>
  <li>{{ event("deviceorientation") }}</li>
  <li>{{ domxref("DeviceMotionEvent") }}</li>
  <li>{{ event("devicemotion") }}</li>
  <li><a href="/en-US/docs/WebAPI/Detecting_device_orientation" title="/en-US/docs/WebAPI/Detecting_device_orientation">Detecting device orientation</a></li>
  <li><a href="https://developer.mozilla.org/en/DOM/Orientation_and_motion_data_explained" title="Orientation and motion data explained">Orientation and motion data explained</a></li>
</ul>
Revert to this revision